-- 查看数据库 show databases; -- 创建数据库 create database name; ( create schema name) -- 使用 use dataname; -- 创建表 create table if not exists tablename( a int, b varchar(20), c date );
表结构的常用操作
1 2 3 4 5 6 7 8
-- 查看所有表 show tables; -- 查看指定某个表的创建语句 show create table tablename; -- 查看表结构 desc tablename; -- 删除表 drop table tablename;
create table if not exists student( -> side int unsigned, -> name varchar(20), -> gender varchar(10), -> age int, -> birth date, -> score double -> ); -- 添加列 alter table 表名 add 列名 类型(长度) [约束]; alter table student add dept varchar(20);
-- 修改列名和类型 alter table 表名 change 旧列名 新列名 类型(长度) [约束]; alter table student change dept department varchar(30); -- 删除列 alter table 表名 drop 列名; alter table student drop department;
-- 修改表名(注意是表名) rename table 旧表名 to 新表名; rename table student to stu;
DML基本操作
插入 insert
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
-- 插入数据 -- 方法一(数据类型一一对应) insert into stu(side,name,gender,age,birth,score) -> values( -> 1001,'李白','男',28,'2021-02-03',99.5 -> ); -- 方法二(向表中插入所有列) insert into stu values( -> 1010,'王昭君','女',18,'2020-02-03',92.4 -> ); -- 多列插入 insert into stuinfo values -> (NULL,'CARRA','N',29,'AAAs',75.3), -> (NULL,'CAA','N',29,'AA23As',75.2), -> (NULL,'CuAA','N',29,'AA23As',75.2);
删除 delete
1 2 3 4 5 6 7 8
-- 格式1:delete from 表名 【where 条件】 -- 格式2:truncate table 表名 【truncate 表名】 -- 删除符合条件的数据 delete from stu where side=1002; -- 删除所有数据(只删除内容) delete from stu; -- 清空表数据(更彻底,“删除表,再创建新表”) truncate stu;
更新 update
1 2 3 4 5 6
-- 修改表结构 -- 格式1 update 表名 set 字段名 = 值,字段名=值....; -- 格式2 update 表名 set 字段名 =值,字段名=值...where 条件; update stu set side=1002; update stu set side=1003 where side>1002; update stu set age=10 where name = 'Marry'; -- 字符型加引号
复制表
1 2 3 4
-- 只复制表结构 create table book like 图书表; -- 复制表结构和数据 create table book2 as (select*from 图书表);
-- 方式1:<字段名> <数据类型> not nu11; -- 方式2:alter table表名 modify 字段类型 not nul1;
◆添加非空约束-方式1
1 2 3 4 5 6
-- 方式1,创建表时指定 create table t user6() id int, name varchar(20) not null, address varchar(20) not null );
◆添加非空约束-方式2
1 2 3 4 5 6 7 8
-- 方式2,创建表之后指定 create table t user7( id int name varchar (20), address varchar(20) ); alter table t_user7 modify name varchar(20) not null; alter table t_user7 modify address varchar(20) not null;
◆删除非空约束
重新定义表结构不加约束
1 2 3
-- alter table 表名 modify 字段类型 alter table t_user7 modify name varchar(20); alter table t_user7 modify address varchar(20);