vim /etc/my.cnf
character_set_server=utf8mb4 #修改服务器端的字符集为utf8mb4
DDL
show
SHOW CHARACTER SET; --查看字符集
SHOW COLLATION; --查看排序规则
SHOW DATABASES; --查看数据库列表
SHOW FUNCTION; --查看函数列表
SHOW CREATE FUNCTION function_name; --查看函数定义
CREATE
CREATE DATABASE test1 character set utf8mb4; --创建一个数据库test1,字符集类型为utf8mb4
create table student2 like test1.student; --把数据库test1的student表复制为test2的student2表
create table student3 select * from test1.student; --把数据库test1的student表查询结果创建为test2的student3表
create table student(id int unsigned auto_increment primary key,name varchar(20) not null,gender ENUM('m','f') default 'm',mobile char(11) ); --创建一张名字为student的表,定义字段id 数据类型是数值型int整数且为正数,并自动递增,而且是主键。定义字段name数据类型是字符型varchar,长度为20,不能为空。定义字段gender,枚举m或f,默认值为m。定义字段mobile,数据类型是字符型char,长度是11
DROP
DROP TABLE student --删除student表
ALTER
ALTER TABLE students RENAME s1; --把student表重命名为s1
ALTER TABLE s1 ADD phone varchar(11) AFTER name; --为s1表新添加一个phone字段,并添加在name字段后
ALTER TABLE s1 MODIFY phone int; --把phone字段的数据类型改成int
ALTER TABLE s1 CHANGE COLUMN phone mobile char(11); --把phone字段的数据类型改成char,并把名字改成mobile
ALTER TABLE s1 DROP COLUMN mobile; --删除字段mobile
DML
insert
insert student(name,mobile)values('tom','15200110022'); --添加一条记录,只添加姓名和电话的字段信息
insert student(name,mobile)values('xiaoming','10086'),('xiaohong','10000'); --添加多条记录,添加姓名和电话的信息
update
update student set ClassID=1 where StuID=25; --修改student表里的StuID为25的ClassID的值为1
为了避免修改的时候不加where造成灾难更新,建议在mysql登入的时候加-U
delete
delete from students where stuid>20; --把students表里stuid大于20的数据删除
TRUNCATE TABLE tbl_name; --清空表,效率比delete from tbl_name高