DDL
DDL(Data Definition Language),数据定义语言,主要用于建库,建表。
对数据库的常用操作
常用操作如下表所示:
功能 | SQL |
---|---|
查看所有的数据库 | show databases; |
创建数据库 | create database [if not exists] mydb1 [charset = utf8] |
切换(选择要操作的)数据库 | use mydb1; |
删除数据库 | drop database [if exists]mybdl; |
修改数据库编码 | alter database mydbl character set utf8 |
现在就来具体看看:
打开Navcat软件,当我们和mysql建立好连接后,就可以得到如下所示的页面:
可以发现得到了一个名为bear的连接,且颜色是绿色,表示连接成功。点开bear,我们可以看到里面有四个数据库,这是我们安装MySQL后,系统给我们自动生成的。接下来,我们就可以创建自己的数据库,并执行相应操作。
具体方法为:点击新建查询,会出现一个窗口,我们就可以在这个窗口里面写我们的代码。(注释用两个短箭头表示 --),下来,我们就来执行相关操作:
1、查看所有数据库
在窗口中输入如下代码:
show databases;
选中我们输入的代码,点击选择已运行的,就可以得到如下所示:
我们就得到了系统自动生成的那四个数据库。
2、创建数据库
接下来,我们就可以创建自己的数据库。
语法为:
create database [if not exists] 数据库名;
其中这里的[if not exists]
表示如果我们要创建的新数据库不存在的情况下在创建,否则不执行任何操作,在表内没有重复的数据库时也可以去掉。
当我们输入后并执行后,刷新左边的窗口,会发现,此时就成功创建了一个名为xl
和wh
的数据库。
此时我们也可以通过show databases;
来查看我们是否创建成功。
这里也显示创建成功。
3、切换数据库
即选择要使用那个数据库,格式为:
use 数据库名;
比如使用新创建的xl
数据库,如下所示:
此时,表示数据库切换成功。
4、删除数据库
格式为:
drop database [if exists] 数据库名;
这里的[if exists]
也是可选参数,表示如果这个数据库存在的话就删除,否则不执行操作。
例如我们删除刚创建的wh
数据库。
输入并执行后,刷新左侧的窗口,发现名为wh
的数据库已不存在,表示删除成功。
5、修改数据库编码
格式:
alter database 数据库名 character set utf8;
比如把我们的xl
数据库的编码设置为utf8
,如下:
对表结构的常用操作
接下来,我们再来看看如何在数据库中创建表。
1、数据类型
首先,我们先来看看在表中常用的数据类型:
字符型 | 类型 |
---|---|
int | 整型 |
double | 浮点型 |
decimal | 泛型类型。即可以存放int型,又可以存放double型,不会损失数据的精度 |
char | 固定长度字符串(当输入的字符串不够长度时会补空格) |
varchar | 固定长度字符串(当输入的字符串不够长度时不会补空格) |
text | 字符串类型 |
blob | 字节类型 |
date | 日期类型(yyyy-MM-dd) |
datetime | 日期时间格式 |
timestamp | 时间戳 |
2、创建表
格式:
create table [if not exists]表名(
字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],
字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],
字段名3 类型[(宽度)] [约束条件] [comment '字段说明']
)[表的一些设置];
例如我们现在创建一个学生信息表。
创建好后,在左侧双击我们选用的数据库xl
,然后选择表,会发现下面多了一个student
表类,即我们创建的表,鼠标右键点击student
表类,选择打开表,可以得到:
说明我们表的结构就搭建成功。
3、查看当前数据库的所有表名称
语法:
show tables;
例如查询
可以发现该数据库下只有一个表为student
。
4、查看指定某个表的创建语句
语法:
show create table 表名
例如查询我们新创建的student
表的创建语句:
由于代码太多,将其单独拎出来,即:
student CREATE TABLE `student` (
`sid` int DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`gender` varchar(20) DEFAULT NULL,
`age` int DEFAULT NULL,
`birth` date DEFAULT NULL,
`address` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
5、查看表结构
格式:
desc 表名
例如查看student
表的结构,如下:
6、删除表
格式:
drop table 表名;
例如,删除student
表,如下:
输入代码执行后,刷新左侧窗口,发现student
表已经不存在,说明删除成功。
修改表结构
还是以上面的student
表为例,给其进行相关操作。因为在上面我们把student
表删除了,所以我们需要在找到创建student
表的代码,再执行一次:
刷新左侧窗口,发现student
表存在,说明创建成功。
1、修改表添加列
语法:
alter table 表名 add 列名 类型(长度) [约束];
例如给student
表添加一列为double
型的score
。
在左侧窗口打开student
表,然后选择设计表,可以看到,该表的确多了一列double
型的`score。
2、修改列名和类型
语法格式:
alter table 表名 change 旧列名 新列名 类型(长度) 约束;
例如,将student
表中名为gender
的列名改为varchar(2)
类型的sex
,如下:
在左侧窗口打开student
表,然后选择设计表,可以看到:
改变成功。
3、修改表删除列
语法格式:
alter table 表名 drop 列名;
例如删除student
表中新创建的score
列,如下:
在左侧窗口打开student
表,然后选择打开表,可以看到:
score
所在的列的确被删除。
4、修改表名
语法格式:
rename table 表名 to 新表名;
例如,将student
表改名为stu
,如下:
刷新左侧窗口,查看表名: