DDL-数据库操作
查询:
查询所有数据库:show databases;
查询当前所在的数据库:select database();
创建:create database (if not exists若果不存在则创建) 数据库名称
删除:drop database (if exists如果存在则删除) 数据库名称
进入目标数据库:use 数据库名称
出现database changed则表示进入数据库成功
----------------------------------------------------------------------------------------------------------------------
表格创建和查询
创建:create table 表格名(这里用tb_user表示)(
名称1 名称类型 comment '注释',
名称2 名称类型 comment '注释'(注意:最后一句语句后不能加逗号,否则会报错)
)comment'注释';
查询数据库中所有的表格:show tables;
查询数据库中单个表格:desc 表格名称;
查询表格的详细信息:show create table 表格名;
DEFAULT CHARSET=utf8mb4表格的数据编码格式COLLATE=utf8mb4_0900_ai_ci是表格的排序格式
数据类型:
类型 | 大小 | 有符号(signed)范围 | 无符号(unsigned)范围 |
tinyint | 1 byte | (-128,127) | (0,255) |
smallint | 2 byte | (-32768,32768) | (0,65535) |
mediumint | 3 byte | (-8388608,8388607) | (0,166777215) |
int | 4 byte | (-2147483648,2147483647) | (0,4294967295) |
bigint | 8 byte | (-2^63,2^63-1) | (0,2^64-1) |
float | 4 byte | (-3.402823466 E+38,3.402823466351 E+38) | 0和(-3.402823466 E+38,3.402823466351 E+38) |
double | 8 byte | (-1.7976931348623157 E*308,1.7976931348623157 E*308) | 0和(-1.7976931348623157 E*308,1.7976931348623157 E*308) |
decimal | 依赖于精度和标度的值 | 依赖于精度和标度的值 |
decimal的精度的数字的位数(3.14159精度为6)标度为小数点后的位数(3.14159标度为5)
字符串
类型 | 大小 | 备注 |
char | 0-255bytes | 定长字符串 |
varchar | 0-65535bytes | 变长字符串 |
tinyblob | 0-255bytes | 不超过255个字符的二进制数 |
tinytext | 0-255bytes | 短文本字符串 |
blob | 0-65535bytes | 二进制长文本数据 |
text | 0-65535bytes | 长文本数据 |
mediumblob | 0-16777215bytes | 二进制中长文本数据 |
mediumtext | 0-16777215bytes | 中长文本数据 |
longblob | 0-4294967295bytes | 二进制极大文本数据 |
longtext | 0-4294967295bytes | 极大文本数据 |
时间
类型 | 大小 | 范围 | 格式 |
date | 3 | (1000-01-01到9999-12-31) | YYYY-MM-DD |
time | 3 | (-838:59:59到838:59:59) | HH:MM:SS |
year | 4 | (-1901到2155) | YYYY |
datetime | 8 | (1000-01-01 00:00:00到9999-12-31 23:59:59) | YYYY-MM-DD HH:MM:SS |
timestamp | 4 | (1970-01-01 00:00:00到2038-01-19 03:14:07) | YYYY-MM-DD HH:MM:SS |
案例:
create table emp(
id int comment '编号',
workNub varchar(10) comment '工号',
name varchar(10) comment '姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号',
entrydate date comment '入职时间'
) comment '员工表';
效果: