数据定义语言DDL操作表结构
DDL(Data Definition Language)数据定义语言,用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等。
操作数据库CRUD:
C(Create):创建
R(Retrieve):查询
U(Update):修改
D(Delete):删除
前提:先使用某个数据库
1、创建表
1、创建表的格式
CREATE TABLE 表名 (
字段名 1 字段类型 1,
字段名 2 字段类型 2
);
2、关键字说明
创建表的关键字 | 说明 |
---|---|
CREATE | 创建 |
TABLE | 表 |
3、MySQL数据类型
常用数据类型如下:
详细数据类型如下:
4、具体操作:
创建 student 表包含 id,name,birthday 字段
create table student (
id int, -- 整数
name varchar(20), -- 字符串
birthday date -- 生日,最后没有逗号
);
2、查询表
1、查看某个数据库中的所有表
SHOW TABLES;
2、查看表结构
DESC 表名;
3、查看创建表的SQL语句
SHOW CREATE TABLE 表名;
4、具体操作
- 查看 day21 数据库中的所有表
use day21; show tables;
- 查看 student 表的结构
desc student;
- 查看 student 的创建表 SQL 语句
show create table student;
5、快速创建一个表结构相同的表
语法
CREATE TABLE 新表名 LIKE 旧表名;
具体操作:创建 s1 表,s1 表结构和 student 表结构相同
-- 创建一个s1的表与student结构相同
create table s1 like student;
desc s1;
3、修改表结构
1、添加表列ADD
ALTER TABLE 表名 ADD 列名 类型;
为学生表添加一个新的字段 remark,类型为 varchar(20)
alter table student add remark varchar(20);
2、修改列类型MODIFY
ALTER TABLE 表名 MODIFY 列名 新的类型;
将 student 表中的 remark 字段的改成 varchar(100)
alter table student modify remark varchar(100);
3、修改列名 CHANGE
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
将 student 表中的 remark 字段名改成 intro,类型 varchar(30)
alter table student change remark intro varchar(30);
4、删除列 DROP
ALTER TABLE 表名 DROP 列名;
删除 student 表中的字段 intro
alter table student change remark intro varchar(30);
5、修改表名
RENAME TABLE 表名 TO 新表名;
将学生表 student 改名成 student2
rename table student to student2;
6、修改字符集character set
ALTER TABLE 表名 character set 字符集;
将 student2 表的编码修改成 gbk
alter table student2 character set gbk;
4、删除表
- 直接删除表
DROP TABLE 表名;
- 判断表是否存在,如果存在则删除表
DROP TABLE IF EXISTS 表名;
具体操作
-- 直接删除表s1表
drop table s1;
-- 判断表是否存在并删除s1表
drop table if exists `create`;
--与直接删除的区别:如果表不存在,不删除,存在则删除