前言:
在从零到一入门MySQL一篇中,我们对数据库已经有了一定的了解,接下来让我们学习SQL语句吧!
如果你对数据库的创建,查找,删除;表的创建,字段的增删不清楚,看完本篇,你一定有所收获!
一.DDL数据库语句
1.1语句讲解
DDL是数据定义语言,用来对数据库、表、字段进行操作。
show databases;
这句代码是让命令行窗口显示服务器里一共有多少个数据库,请看下图:
MySQL系统软件下载后,里面默认有四个系统数据库。
create database if not exists 数据库名 default charset utf8mb4;
这句代码是创建一个数据库的DDL语句。其中的if not exists 和 default charset utf8mb4是可以省略的。
if not exists的作用是,如果存在test这个数据库,这句代码什么都不执行,不存在就创建test数据库。
下滑线部分表示数据库创建成功。
补充:数据库中有些字符用3个字节不够表示,utf8的大小是3个字节,utf8mb4是4个字节大小。
use 数据库名;
这句代码的作用是指定使用数据库;
在一般情况下,对一个数据库里的表、字段进行多步操作后,已经忘了自己所处的数据库,使用这句代码:
select database();
这句代码可以指出现在处在哪个数据库。
drop database if exists 数据库名;
这句代码是删除数据库的代码,if exists可以省略,意思是如果存在test数据库就删除,否则不执行任何操作。
1.2总结
DDL语句对数据库的操作有如下:
二.DDL表语句
2.1语句讲解
数据库的数据模型里,数据库里包含表,所以在讲表的知识,先创建一个数据库先。
show tables;
查询当前使用数据库里包含的所有表。
由于是新建的数据库,所以是空表Empty。
create table employee( id int comment '编号', gender char(1) comment '性别', age tinyint unsigned comment '年龄' )comment '员工表';
这是创建表的代码,我们来慢慢分析,别怕!
首先create table是创建表的意思,这个表名是employee。
接着id、gender、age是表格的字段名、int、char(1)、tinyint是数据类型。
最后comment这一部分是注释,可以省略。
每一个字段与另一个字段之间用逗号隔开,最后一个不加逗号。
desc 表名;
这句代码可以显示表的字段名,字段的数据类型。
但是看不到注释,虽然我们知道id可能是编号的意思,但是什么编号就不知道了,普通人?门诊号?还有一种查表的语句:
show create table 表名;
这句代码的意思是,展示创建表时的语句。
alter table 表名 rename to 新表名;
这句代码的意思是选择原先的表名,改成新的表名。
drop table if exists 表名;
这句代码是用来删除指定表名的表,if exists可以省略,它的意思同前面用到的地方意思是一样的。
删完之后,test数据库里就没有表了,所以再次显示表的信息时为空。
truncate table 表名;
这句代码也是用来删除表的,但它会重新创建一个相同类型的没有数据的表,但表的结构还在。
比如前面emp这个表不是使用drop而是使用truncate的话,那在show tables的时候,还能看到emp表。
2.2总结
DDL语句对表的操作有如下: