坚持打卡学习第九天——数据定义语言(DDL)

2021-12-24  本文已影响0人  去追星星
1.alter database

可用来修改已经被创建或存在的数据库相关参数
语法:

alter database [数据库名]{
[default]character set <字符集名>|
[default]collate<校对规则名>}

示例:

alter database menagerie 
default character set gb2312 
default collate gb2312_chinese_ci;

说明:
(1)使用alter database需要获得数据库alter权限
(2)可忽略数据库名称,此时对应默认数据库
(3)character set子句用于更改默认的数据库字符集
(4)alter database用于更改数据库全局特性

2.alter table

用于更改原有表的结构,可以增加、删除列;创建、删除索引;更改原有列的类型;重新命名列或表...
语法:

alter [ignore] table tbl_name alter_specification
[,alter_specification]... 

示例1:增加、删除列

增加:alter table shop add price int(2);
删除:alter table shop drop price; 

示例2:创建、删除索引

创建:
alter table tbl_name add index [<索引名>] [<索引类型>] (<列名>,…)
alter table shop add index(price);
删除:
alter table shop drop index price;  
alter table shop drop primary key;

示例3:改变列的数据类型

alter table shop modify prices varchar(3);

示例4:重新命名列或表

重命名表
alter table shop rename to shopping;
重命名列(price -> prices)
alter table shop change price prices varchar(50);

示例5:修改字段默认值

已存在默认值,先删除
alter table shop alter column drop default;
不存在默认值,创建
alter table shop alter column set default '0'; 
3.create database

创建数据库
语法:

create database [if not exists]<数据库名>
[[default] character set <字符集名>]
[[default] collate <校对规则名>];

示例1:

create database test_db;

示例2:

create database if not exists test_db
default character set utf8
default collate utf8_chinese_ci
4.create index

创建索引
语法:

create [unique|fulltext|spatial] index index_name
[using index_type] on tbl_name(<列名>[长度][asc|desc])

示例:

create index index_price on shop(price);

说明:
[unique|fulltext|spatial] :索引名
index_name:给索引的名称
tbl_name:表名

5.create table

语法:

create table 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)

示例:

create table Persons
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
6.drop database

删除已存在的数据库
语法:

drop database [if exists]<数据库名>

示例:

drop database table1;

说明:
(1)<数据库名>:指定要删除的数据库名
(2)if exists:用于防止当数据库不存在是发生错误
(3)需要获得drop权限

7.drop index

删除索引
语法:

drop index <索引名> on <表名>

示例:

drop index index_price on shop;
8.drop table

drop table <表名>;
drop table shop;

9.rename table

重命名表
语法:

rename table tbl_name to new_tbl_name 
[,tbl_name2 to new_tbl_name2]
...

示例:

rename table shop to shopping;

说明:
(1)旧表必须存在,新表已存在则修改失败
(2)也可以用rename table重新命名视图

上一篇 下一篇

猜你喜欢

热点阅读