文章目录
数据定义语言(DDL)
DDL(Data Definition Language)数据定义语言
- 用来定义数据库对象:数据库,表,列等。关键字:create,drop,alter 等
1. 操作数据库
1.1 C (Create):创建
-
创建数据库
create database 数据库名;
-
创建数据库前先判断是否存在
create database if not exists 数据库名;
-
创建数据库,判断是否存在,并指定字符集
create database if not exists 数据库名 character set 字符集
1. 2.R (Retrieve):查询
-
查询所有数据库的名称
show databases;
-
查询某个数据库的字符集–其实是查询数据库的创建sql语句
show create database 数据库名;
1.3. U(Update):修改
-
修改数据库的字符集
alter database 数据库名 character set utf8字符集;
1.4.D(Delete):删除
-
删除数据库
drop database 数据库名;
-
删除数据库前先判断是否存在
drop database if exists 数据库名;
1.5.使用数据库
-
查询当前正在使用的数据库名称
select database();
-
注意 和 show databases;的细微区别
1. 语义不同,分别是:查看所有数据库名称,查看当前正在使用的数据库名称 2. 写法不同,database() 和 databases
-
使用数据库
use 数据库名; use db1;
2. ddl操作表
2.1 查询
2.1.1. 查询某个数据库中所有的表名称
show tables
2.1.2. 查询表结构
desc 表名;
desc db;
2.1.3. 查询表的创建语句
show create table 表名
2.2. 创建
创建表
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
......
列名n 数据类型n
);
注意:最后一列,不需要加逗号
数据类型
- int 整数类型
age int - double 小数类型
score double(5,2) 总长度5,小数点后的位数2,最大值999.99 - date 日期,只包含年月日,yyyy-MM-dd
- datetime 日期,包含年月日和时分秒 yyyy-MM-dd HH:mm:ss
- timestamp 时间戳,包含年月日和时分秒 yyyy-MM-dd HH:mm:ss
如果该类型字段没有赋值,或赋值为null,则默认使用当前系统时间填充 - varchar 字符串(长度可变)
- char字符串(长度固定)
name varchar(20) 表示姓名最长20个字符的限制
注意:
1.字符串char,varchar要指定长度
2.varchar和日期类型的数据要加上引号(推荐使用单引号)
2. 复制表
create table 表名 like 被复制的表名;
create table employee11 like employee;
2.3 删除表
1. drop table 表名
2. drop table if exists 表名
drop table if exists employee
2.4. 修改
2.4.1.修改表
-
修改表名
alter table 表名 rename to 新表名 alter table employee11 rename to employee
-
修改表的字符集
-- 查看表的字符集,其实是查看表的创建语句 show create table 表名; show create table employee; -- 修改表的字符集 alter table 表名 character set 字符集; alter table employee character set utf8;
2.4.2.修改列
-
添加一列
alter table 表名 add 列名 数据类型; alter table employee add department varchar(20);
-
修改列类型
alter table 表名 modify 列名 数据类型; alter table employee modify department varchar(10);
-
修改列名和类型
alter table 表名 change 旧列名 新列名 数据类型; alter table employee change department dp varchar(20);
-
删除列
alter table 表名 drop 列名; alter table employee drop dp;