插入:insert
修改:update
删除:delete
特点:
1、插入的值的类型要与列的类型一致或兼容。
select into emp(empno,ename,deptno,photo,job_id) value(11,'张三',10,null,2);
2、可以为null的列如何插入值。
#这里photo字段可以为空
#方式一:
select into emp(empno,ename,deptno,photo,job_id) value(11,'张三',10,null,2);
#方式二:
select into emp(empno,ename,deptno,job_id) value(11,'张三',10,2);
3、列的顺序可以调整,但是数值必须一一对应。
4、列的个数和值的个数必须一致。
5、可以省略列名,插入的数据必须按照列的顺序。
6、支持插入多行。
select into emp(empno,ename,deptno,job_id)
value(11,'张三',10,2)
value(12,'李四',10,4)
value(13,'王武',10,3);
7、支持子查询
insert into emp2
select * from emp;
不支持多行插入,不支持子查询
insert into beaty set id=19,name='lisi',phone='222';
语法:
update 表名 set 列=新值,列=新值,…
where 筛选条件;
update beaty set phone = '132456',id = '123'
where name like 't%';
语法:
update 表1 别名
连接类型 join 表2
on 连接条件
set 列=值,…
where 筛选条件;
update boys bo right join beauty b on bo.id=b.boy_id
set b.boy_id =2
where b.id is null;
语法:
1、单表删除
delete from 表名 where 筛选条件
#删除手机号以9结尾的人
delete from beauty where phone like '%9';
保留数据结构删除表中所有数据
语法:truncate table 表名;
2、多表删除
delete 表1的别名,表2的别名
from 表1 别名
连接条件 join 表2 别名 on 连接条件
where筛选条件;
delete b from beauty b
inner join boys bo on b.boy_id = bo.id
where bo.boname='zhangsan';
1、delete 可以加where条件,truncate不能加。
2、truncate删除,效率高一点。
3、加入要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自增长列的值从1开始。
4、truncate删除没有返回值,delete删除有返回值。
5、truncate删除不能回滚,delete删除可以回滚。
创建:create
修改:alter
删除:drop
create database if not exists books;
修改库的字符集
alter database books character set gbk;
drop database if exists books;
语法:
create table 表名(
列名 列的类型【(长度),约束】,
列名 列的类型【(长度),约束】,
…
列名 列的类型【(长度),约束】
)
create table if not exists books(
id int,
bName varchar(20),
price double,
author varchar(20),
date datetime
)
1、修改列名
alter table books change column date pubDate datatime;
2、修改列的类型或约束
alter table books modify column pubdate timestamp;
3、添加新列
alter table books add column annual double;
4、删除列
alter table books drop column annual;
5、修改表名
alter table books rename to book_ssss;
drop table if exists book_ssss;
#仅仅复制表的结构
create table copy1 like books;
#复制表的结构+数据
create table copy2
select * from books;