DML语言
数据操作语言
插入:insert
修改:update
删除:delete
插入
语法:
insert into 表名(字段名,...)
values(值1,...);
insert into 表明
set 列名=xxx,列名=xxx
特点:
1、字段类型和值类型一致或兼容,而且一一对应
2、可以为空的字段,可以不用插入值,或用null填充
3、不可以为空的字段,必须插入值
4、字段个数和值的个数必须一致
5、字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致
修改
修改单表语法:
update 表名 set 字段=新值,字段=新值
【where 条件】
修改多表语法:
update 表1 别名1,表2 别名2
set 字段=新值,字段=新值
where 连接条件
and 筛选条件
删除
方式1:delete语句
单表的删除: ★
delete from 表名 【where 筛选条件】
多表的删除:
delete 别名1,别名2
from 表1 别名1,表2 别名2
where 连接条件
and 筛选条件;
方式2:truncate语句
truncate table 表名
两种方式的区别【面试题】
1.truncate不能加where条件,而delete可以加where条件
2.truncate的效率高一丢丢
3.truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始 delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
4.truncate删除不能回滚,delete删除可以回滚
DDL语句
数据定义语言
库和表的管理
库的管理:
一、创建库
create database 库名
二、删除库
drop database 库名
修改数据库的名字 rename database 数据库名字 to 新数据库名字 危险操作 会导致数据丢失 不建议
修改数据库的字符集 alert database 数据库名字 character set 编码
表的管理:
1.创建表
CREATE TABLE IF NOT EXISTS stuinfo(
stuId INT,
stuName VARCHAR(20),
gender CHAR,
bornDate DATETIME
);
DESC studentinfo;
2.修改表 alter
语法:
ALTER TABLE 表名 ADD|MODIFY|DROP|CHANGE COLUMN 字段名 【字段类型】;
①修改字段名
ALTER TABLE studentinfo CHANGE COLUMN sex gender CHAR;
②修改表名
ALTER TABLE stuinfo RENAME [TO] studentinfo;
③修改字段类型和列级约束
ALTER TABLE studentinfo MODIFY COLUMN borndate DATE ;
④添加字段
ALTER TABLE studentinfo ADD COLUMN email VARCHAR(20) first;
⑤删除字段
ALTER TABLE studentinfo DROP COLUMN email;
3.删除表
DROP TABLE [IF EXISTS] studentinfo;
4.复制表
仅仅复制结构不复制数据
create table 表名 like 需要复制的表名
复制结构复制数据
create table 表名 select * from 需要复制的表
仅仅复制部分数据
create table 表名 select 列1,列2 ... from 需要复制的表 where 列=xx
仅仅复制部分结构 不要数据
create table 表名 select 列1,列2 from 需要复制的表 where 1=2; //谁都不满足 或者 where 0