目录
SQL分类
| 分类 | 全称 | 说明 |
|---|---|---|
| DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
| DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
| DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
| DCL | Data Control Language | 数据控制语言,用来创建数据库用户,控制数据库的访问权限 |
DDL
DDL 数据库操作
查询
查询所有数据库
SHOW DATABASES;
查询当前数据库
select database();
创建
create database [if not exists] 数据库名 [default charset 字符集] [ collate 排序规则];

这里的utf8mb4支持4个字节的Unicode字符,覆盖了所有Unicode字符(包括emoji、特殊符号等),是MySQL推荐的字符集,完全兼容utf8(即utf8mb3),mb4表示max bytes 是4
删除
drop database [ if exists ] 数据库名;
使用
use 数据库名
DDL 表操作
查询当前数据库所有表
show tables;
查询表结构
desc 表名
查询指定表的建表语句
show create table 表名
创建
create table 表名(
字段1 类型[comment 注释]
...
字段n 类型[comment 注释]
)[comment 表注释];
create table tb_user(
id int comment '编号',
name varchar(50) comment '姓名',
age int comment '年龄',
gender varchar(1) comment '性别'
) comment '用户表';

数据类型
MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型


char(10)和varcahr(10)区别
char(10):尽管只存储一个字符,也会占用10个字符的空间,未占用的空间会用空格补充
性能高
varchar(10):存储几个字符就占用几个字符空间
由于varchar在使用时会计算占用的空间,性能较差
用户名 username varchar(50)
性别 gender char(1)

设计一张员工信息表,要求如下:

create table emp_info(
id int comment '编号',
emp_no varchar(10) comment '员工工号',
emp_name varchar(10) comment '员工姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号',
hiredate date comment '入职日期'
)comment '员工信息表'
;
修改
添加字段
alter table 表名 add 字段名 类型(长度) [comment 注释][约束]
修改数据类型
alter table 表名 modify 字段名 新数据类型(长度)
修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释][约束];


删除字段
alter table 表名 drop 字段名

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



