DDL:操作数据库,表
- 操作数据库:CRUD
- C(Create):创建
- 创建数据库:
CREATE DATABASE 数据库名称;
- 创建数据库,判断不存在,在创建:
CREATE DATABASE IF NOT EXISTS 数据库名称 ;
- 创建数据库,并指定字符集:
CREATE DATABASE 数据库名称 CHARACTER SET 字符集名称;
- 练习:创建db4数据库,判断是否存在,并指定字符集为gbk:
CREATE DATABASE IF NOT EXISTS db4 CHARACTER SET GBK;
- 创建数据库:
- R(Retrieve):查询
- 查询所有所有数据库的名称
SHOW DATABASES;
- 查询摸个数据库的字符集:查看每个数据库的创建语句
SHOW CREATE DATABASE 数据库名称;
- 查询所有所有数据库的名称
- U(Update):修改
- 修改数据库名称的字符集
ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称;
- 修改数据库名称的字符集
- D(Delete):删除
- 删除数据库:
DROP DATABASE 数据库名称;
- 判断数据库存在,存在再删除
DROP DATABASE IF EXISTS 数据库名称;
- 删除数据库:
- 使用数据库
- 查询当前正在使用的数据库名称
SELECT DATABASE();
- 使用的数据库
USE 数据库名称;
- 查询当前正在使用的数据库名称
- C(Create):创建
- 操作表
-
C(Create):创建
- 语法:
CREATE TABLE 表名( 列名1 数据类型1, 列名2 数据类型2, …… 列名n 数据类型n );
- 注意:最后一列不需要加逗号 (,)
- 数据库类型
-
int:整数类型
age int,
-
double:小数类型
score double(5,2), -- 最多5位,小数点后保留两位 ```
-
data:日期类型,只包含年月日,yyyy-MM-dd
-
datatime: 日期,包含年月日时分秒,yyyy-MM-dd HH:mm:ss
-
timetamp:时间戳类型,包含年月日时分秒,yyyy-MM-dd HH:mm:ss
- 如果将来不给这个字段赋值,活赋值为null,则默认使用当前系统时间,自动复制
-
- varchar:字符串
zhangsan 8个字符 张三 2个字符name varchar(20):姓名最大为20个字符
-
创建表
create table student( id int, name varchar(32), age int, score double(4,1), birthday date, insert_time timestamp );
-
复制表
create table 表名 like 被复制的表名;
- 语法:
-
R(Retrieve):查询
- 查询某个数据库中所有表的名称
SHOW TABLES;
- 查询表结构
DESC 表名;
- 查询某个数据库中所有表的名称
-
U(Update):修改
- 修改表名
alter table 表名 rename to 新的表名;
- 修改表的字符集
alter table 表名 character set 字符集名称;
- 添加一列
alter table 表名 add 列名 数据类型;
- 修改列名称,类型
alter table 表名 change 列名 修改后的新列名 新的数据类型; alter table modify 列名 新的数据类型;
- 删除列
alter table 表名 drop 列名;
- 修改表名
-
D(Delete):删除
drop table 表名; drop table if exists 表名;
-