数据的插入
语法:
#INSERT INTO beauty(字段1,字段2,…)
#VALUES(值1,值2,…);
特点:
1、字段和值列表必须一一对应
2、字符型和日期型必须用单引号引起来
3、字段的顺序可以和表中字段的顺序不一致
4、不可以为NULL的字段,必须插入值,比如说主键id;可以为NULL的字段,可以不用插入值,使用NULL来代替,或字段名和值都不写
5、字段和值的个数必须一致
6、字段列表可以省略,默认所有列 ,而且顺序和表中的列的顺序一致
更新语句 update
语法:
UPDATE 表名 SET 字段名=新值,字段名=新值
[WHERE 条件];
数据删除
删除的方式一:
#语法:DELETE FROM 表 [WHERE 条件]
删除的方式二:
#语法:TRUNCATE TABLE 表名
#二种删除方式的区别(面试)
1、TRUNCATE不能加WHERE条件,而DELETE可以加WHERE
2、TRUNCATE效率较高
3、TRUNCATE不能删除多表,而DELETE可以
4、删除带标识列字段的表时,TRUNCATE 删除后再插入,标识列的值从1开始 # DELETE删除后再插入,标识列的值从断点处开始
5、TRUNCATE删除后,不能回滚;DELETE删除可以回滚
练习
1. 运行以下脚本创建表my_employees
CREATE TABLE my_employees(
Id INT(10),
First_name VARCHAR(10),
Last_name VARCHAR(10),
Userid VARCHAR(10),
Salary DOUBLE(10,2)
);
CREATE TABLE users(
id INT,
userid VARCHAR(10),
department_id INT
);
2.显示表my_employees的结构
DESC my_employees;
3. 向my_employees表中插入下列数据
#ID FIRST_NAME LAST_NAME USERID SALARY
#1 patel Ralph Rpatel 895
#2 Dancs Betty Bdancs 860
#3 Biri Ben Bbiri 1100
#4 Newman Chad Cnewman 750
#5 Ropeburn Audrey Aropebur 1550
#方式一
INSERT INTO my_employees VALUES
(1,‘patel’,‘Ralph’,‘Rpatel’,895),
(2,‘Dancs’,‘Ralph’,‘Rpatel’,895),
(3,‘Biri’,‘Ralph’,‘Rpatel’,895),
(4,‘Newman’,‘Ralph’,‘Rpatel’,895),
(5,‘Ropeburn’,‘Ralph’,‘Rpatel’,895)
#方式二
INSERT INTO my_employees
SELECT 100,‘patel’,‘Ralph’,‘Rpatel’,895 UNION ALL
SELECT 100,‘patel’,‘Ralph’,‘Rpatel’,895 UNION ALL
SELECT 100,‘patel’,‘Ralph’,‘Rpatel’,895 UNION ALL
SELECT 100,‘patel’,‘Ralph’,‘Rpatel’,895
SELECT * FROM my_employees;
4. 向users表中插入数据
#1 Rpatel 10
#2 Bdancs 10
#3 Bbiri 20
#4 Cnewman 30
#5 Aropebur 40
INSERT INTO users
VALUES
(1,‘Rpatel’,10),
(2,‘Bdancs’,10),
(3,‘Bbiri’,20),
(4,‘Cnewman’,30),
(5,‘Aropebur’,40)
5. 将3号员工的last_name修改为“drelxer”
UPDATE my_employees
SET last_name=‘drelxer’
WHERE id = 3;
6. 将所有工资少于900的员工的工资修改为1000
UPDATE my_employees SET salary=1000
WHERE salary<900;
7. 将userid 为Bbiri的user表和my_employees表的记录全部删除
DELETE u,m
FROM users u,my_employees m
WHERE u.userid
=m.Userid
AND u.userid
=‘Bbiri’;
8. 删除所有数据
DELETE FROM users;
DELETE FROM my_employees;
9. 检查所作的修正
SELECT * FROM users;
SELECT * FROM my_employees;
10. 清空表my_employees
TRUNCATE TABLE users;
TRUNCATE TABLE my_employees;