数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。——来自百度百科
常见DDL的语句分为对数据库操作和对表操作。
(一)DDL-数据库操作
(1)查询
①查询所有数据库
show databases;
该语句的作用是用于查询你所有的数据库,也就是你连接了数据库后里面的内容。
基于DataGrip软件的演示,查询所有数据库时注意事项(1、databases需要是复数形式。2、分号!分号!分号!查询语句后面记得是英文状态下的分号。3、保证连接到你所原有的数据库)
②查询当前数据库
select database();
查询当前所在的数据库位置,方便我们今后在数据库操作多个表时忘记所在位置,这样可以快速定位。
注意事项:1.select是关键字,拼写一定得正确。2.database后面的括号一定不能忘记。3.分号!
(2)创建
//创建一个库
create database [if not exists] 数据库名 [default charset 字符集] [collate 排列顺序];
创建一个数据库的格式基本方式为:create database 数据库名; (注:方括号里面的内容可以不写,也可以写,是一定的自定义内容。if not exists是一个条件,假如所创建的库不存在,就创建。default charset 重新定义新建库的字符编码,一般默认即可。)
创建新库之前,左侧是不存在itemm的库。
创建新库之后,左侧就会出现刚才新建的库。
(3)删除
drop database [if exitst]数据库名;
关键词为 drop,快速记忆方法就是要丢掉什么东西用drop。
当执行完删除语句之后就发现左侧的数据库中,刚才创建的itemm库已经不复存在了。
如果删除的库在库中不存在则会反馈 [HY000][1008] Can't drop database 'itemm'; database doesn't exist。
(4)使用
use 数据库名;
该语句的作用就是跳转至你所需要操作的数据库目录下,此时操作的对象就是你使用的对象库。
执行完use语句后,在来查看当前数据库,此时可以看出,当下的数据库为我们使用的数据库。
(二)DDL——表操作
(1)创建
create table 表名(
字段1 字段1类型 [commemt 字段1注释],
字段2 字段2类型 [commemt 字段2注释],
字段3 字段3类型 [commemt 字段3注释],
.....
字段n 字段n类型 [commemt 字段n注释]
) [comment 表注释];
create table actorinfo(
id int comment '编号',
name varchar(10) comment '姓名',
age int comment '年龄',
gender varchar(2) comment '性别',
idcard varchar(18) comment '身份证号'
) comment '人员信息表';
可以发现,在数据库中已经创建好了我们的表,因为之前存在了xpc的表没注意,所以报了一个警告,也提醒我们在创建表时,如果已经存在的表是无法进行再次创建的,体现了数据库的单一性。(注意事项:相信观察仔细的你已经发现了,每个字段和字段直接靠的是“,”连接的,且在最后创建写完后需要用分号进行结束,提示编译器你写完了一条语句,comment 注释信息可以不写,前提是你明白你每一步是什么意思就行。)
既然讲到着了就在提一条语句,可以避免我创建重复表的错误。
show tables;
这样可以在一开始就可以阻止我们在开发中浪费时间了。
还有查询表结构(表的呈现形式):
desc 表名;
查看创建表的 SQL 语句(就是去看这个表创建的代码):
show create table 表名;
还有复制表的操作(就是将另一个表的框架直接copy过来):
create table 表名 like 被复制的表名;
(2)修改
①修改表名
alter table 表名 rename to 新的表名
经过测试,句尾加不加分号都不影响语句执行,但为了规范,加一个分号也无妨。
②修改字符集
alter table 表名 character set 字符集名称;
③在表中结构中添加一列
alter table 表名 add 列名 数据类型
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
这个格式对于初学者比较好,方便记忆,在运用熟练后可以适当省略。
通俗的说就是创建一个新的类型列。
④修改列名称 类型
alter table 表名 change 列名 新列名 新数据类型;
这个方法针对于列名和类型的修改
alter table 表名 modify 别名 新数据类型;
这个方法是针对类型的修改
⑤删除列
alter table 表名 drop 列名
(3)删除表
drop table 表名;
删除所想删除的表。
drop table if exists 表名;
先判断是否有该表再进行删除操作。