#DML语言/*
数据操作语言:
插入:insert
修改:update
删除:delete
*/#一、插入语句#方式一:经典的插入/*
语法:
insert into 表名(列名,...) values(值1,...);
*/SELECT*FROM beauty;#1.插入的值的类型要与列的类型一致或兼容INSERTINTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕','女','1990-4-23','1898888888',NULL,2);#2.不可以为null的列必须插入值。可以为null的列如何插入值?#方式一:INSERTINTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕','女','1990-4-23','1898888888',NULL,2);#方式二:INSERTINTO beauty(id,NAME,sex,phone)VALUES(15,'娜扎','女','1388888888');#3.列的顺序是否可以调换 可以INSERTINTO beauty(NAME,sex,id,phone)VALUES('蒋欣','女',16,'110');#4.列数和值的个数必须一致INSERTINTO beauty(NAME,sex,id,phone)VALUES('关晓彤','女',17,'110');#5.可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致INSERTINTO beauty
VALUES(18,'张飞','男',NULL,'119',NULL,NULL);#方式二:/*
语法:
insert into 表名
set 列名=值,列名=值,...
*/INSERTINTO beauty
SET id =13,NAME ='小泽'#1、方式一支持插入多行,方式二不支持INSERTINTO beauty
VALUES(23,'唐艺昕1','女','1990-4-23','1898888888',NULL,2),(24,'唐艺昕2','女','1990-4-23','1898888888',NULL,2),(25,'唐艺昕3','女','1990-4-23','1898888888',NULL,2);#2、方式一支持子查询,方式二不支持INSERTINTO beauty(id,NAME,phone)SELECT id,boyname,'999'FROM boys WHERE id <2#二、修改语句/*
1.修改单表的记录★
语法:
update 表名
set 列=新值,列=新值,...
where 筛选条件;
2.修改多表的记录【补充】
语法:
sql92语法:
update 表1 别名,表2 别名
set 列=值,...
where 连接条件
and 筛选条件;
sql99语法:
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列=值,...
where 筛选条件;
*/#1.修改单表的记录#案例1:修改beauty表中姓周的女神的电话为13899888899UPDATE beauty
SET phone ='13899888899'WHERE NAME LIKE'周%'#2.修改多表的记录#案例 1:修改张无忌的女朋友的手机号为114UPDATE boys b
INNERJOIN beauty be
ON b.id = be.boyfriend_id
SET be.phone =114WHERE b.name ='张无忌'#三、删除语句/*
方式一:delete
语法:
1、单表的删除【★】
delete from 表名 where 筛选条件
2、多表的删除【补充】
sql92语法:
delete 表1的别名,表2的别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;
sql99语法:
delete 表1的别名,表2的别名
from 表1 别名
inner|left|right join 表2 别名 on 连接条件
where 筛选条件;
方式二:truncate
语法:truncate table 表名; 全部删除
*/#方式一:delete#1.单表的删除#案例:删除手机号以9结尾的女神信息DELETEFROM beauty
WHERE phone LIKE'%9'#2.多表的删除#案例:删除张无忌的女朋友的信息DELETE bo,be
FROM boys bo
INNERJOIN beauty be ON bo.id = be.boyfriend_id
WHERE bo.boyname ='张无忌'#方式二:truncate语句#案例:将魅力值>100的男神信息删除TRUNCATETABLE boys ;#delete pk truncate【面试题★】/*
1.delete 可以加where 条件,truncate不能加
2.truncate删除,效率高一丢丢
3.假如要删除的表中有自增长列,
如果用delete删除后,再插入数据,自增长列的值从断点开始,
而truncate删除后,再插入数据,自增长列的值从1开始。
4.truncate删除没有返回值,delete删除有返回值
5.truncate删除不能回滚,delete删除可以回滚.
*/
二、库和表的管理
#DDL/*
数据定义语言
库和表的管理
一、库的管理
创建、修改、删除
二、表的管理
创建、修改、删除
创建: create
修改: alter
删除: drop
*/#一、库的管理#1、库的创建/*
语法:
create database [if not exists]库名;
*/#案例:创建库BooksCREATEDATABASEIFNOTEXISTS books;#2、库的修改RENAMEDATABASE books TO 新库名;#更改库的字符集ALTERDATABASE books CHARACTERSET gbk;#3、库的删除DROPDATABASEIFEXISTS books;#二、表的管理#1.表的创建 ★/*
语法:
create table 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
...
列名 列的类型【(长度) 约束】
)
*/#案例:创建表BookCREATETABLE book(
id INT,#id
NAME VARCHAR(20),#名字
publishDate DATETIME#出版日期);DESC book;#2.表的修改/*
语法
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;
*/#①修改列名ALTERTABLE book CHANGE COLUMN publishDate pubDate DATETIME;#②修改列的类型或约束ALTERTABLE book MODIFYCOLUMN pubdate TIMESTAMP;#③添加新列ALTERTABLE book ADDCOLUMN author VARCHAR(20);#④删除列ALTERTABLE book DROP author;#⑤修改表名ALTERTABLE book RENAMETO book_author;DESC book_author;#3.表的删除DROPTABLEIFEXISTS book_author;SHOWTABLES;#4.表的复制CREATETABLEIFNOTEXISTS author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10))SELECT*FROM Author;SELECT*FROM copy2;#1.仅仅复制表的结构#2.复制表的结构+数据CREATETABLE copy2
SELECT*FROM author;#只复制部分数据CREATETABLE copy3
SELECT id,au_name
FROM author
WHERE nation='中国';#仅仅复制某些字段CREATETABLE copy4
SELECT id,au_name
FROM author
WHERE0;
一、数据的增删改#DML语言/*数据操作语言:插入:insert修改:update删除:delete*/#一、插入语句#方式一:经典的插入/*语法:insert into 表名(列名,...) values(值1,...);*/SELECT * FROM beauty;#1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕'