DDL数据定义语言
# DDL 数据定义语言
DDL(Data Definition Language)数据定义语言:用来定义数据库对象(数据库,表,字段); 关键字:SHOW、 CREATE、 DROP、 USE
# 数据库操作
show databases(); # 显示所有数据库
use demo; # 使用demo库
select database(); # 查询当前数据库
# 创建数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
create database test1 default charset utf8mb4 collate utf8mb4_general_ci;
# 删除数据库
DROP DATABASE [IF EXISTS] 数据库名;
drop database test1;
# 导入数据
source 脚本文件.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
连接数据库
mysql -u用户名 [-h 数据库IP(127.0.0.1)] [-P 端口(3306)] -p密码
mysql -uroot -h 192.168.10.12 -P 3306 -p
# 表操作
show tables; # 查询所有表
desc tb_student; # 查看学生表的表结构
show create table tb_student; # 查询学生表的建表语句
# 创建学生表
CREATE TABLE `tb_student` (
`id` varchar(32) COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
`sno` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '学号',
`name` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名',
`birthday` date DEFAULT NULL COMMENT '生日',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学生表'
# 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT '注释'] [约束];
ALTER TABLE tb_student ADD idcard varchar(20) COMMENT '身份证号码';
# 修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
ALTER TABLE tb_student MODIFY idcard varchar(21);
# 修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型(长度) [COMMENT 注释] [约束];
ALTER TABLE tb_student CHANGE idcard card_no char(20) COMMENT '证件号码';
# 复制表
create table tb_student_bak as select * from tb_student; //复制整个表
create table tb_student_bak2 as select empno,ename,sal from tb_student; //选择性复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
常用数据类型
- 整型
类型 | 大小 | 有符号范围 | 有符号范围 |
---|---|---|---|
TINYINT | 1byte | -27,27-1 | (-128,127) |
SMALLINT | 2bytes | -215,215-1 | (-32768,32767) |
MEDIUMINT | 3bytes | -223,223-1 | (-8388608,8388607) |
INT/INTEGER | 4bytes | -231,231-1 | (-2147483648,2147483647) |
BIGINT | 8bytes | (-263,263-1) | -9223372036854775808~9223372036854775807 |
2.浮点型
类型 | 大小 | 范围 | 描述 |
---|---|---|---|
FLOAT | 4 bytes | -3.4E+38~3.4E+38 | 单精度浮点数 |
DOUBLE | 8 bytes | -1.8E+308~1.8E+308 | 双精度浮点数 |
DECIMAL | (M,D)依赖于M(精度)和D(标度)的值 | 小数(定点数) |
3.字符串
类型 | 大小 | 描述 |
---|---|---|
CHAR | 0-255 bytes | 定长字符串 |
VARCHAR | 0-65535 bytes | 变长字符串 |
BLOB | 0-65535 bytes | 二进制形式的长文本数据 |
TEXT | 0-65535 bytes | 长文本数据 |
4.日期时间
类型 | 大小 | 范围 | 格式 | 描述 |
---|---|---|---|---|
DATE | 4bytes | 1000-01-01 至 9999-12-31 | YYYY-MM-DD | 日期 |
DATETIME | 8bytes | 1000-01-01 00:00:00 至 9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 日期和时间 |
TIMESTAMP | 4bytes | 1970-01-01 00:00:01 至 2038-01-19 03:14:07 | YYYY-MM-DD HH:MM:SS | 日期和时间,时间戳 |
上次更新: 2023/11/22, 09:11:05