重学MySql数据库(十) MySql数据库之表的增删改操作

一. 增加(插入)

1. 语法:

1. insert into 表名(字段名,...) values(值,...); // 推荐使用
2. insert into 表名 set 字段=值,字段=值,...;

2. 特点:

1、要求值的类型和字段的类型要一致或兼容
2、字段的个数和顺序不一定与原始表中的字段个数和顺序一致
但必须保证值和字段一一对应
3、假如表中有可以为null的字段,注意可以通过以下两种方式插入null值
①字段和值都省略
②字段写上,值使用null
4、字段和值的个数必须一致
5、字段名可以省略,默认所有列

二. 修改

1. 语法:

1. update 表名 set 字段=值,字段=值 【where 筛选条件】;

//级联修改,修改多表。
2. update 表1 别名 
	left|right|inner join 表2 别名 
	on 连接条件  
	set 字段=值,字段=值 
	【where 筛选条件】;

三. 删除

1. 语法:

1. delete from 表名 【where 筛选条件】【limit 条目数】

// 级联删除,多表删除。
2. delete 别名1,别名2 from 表1 别名 
	inner|left|right join 表2 别名 
	on 连接条件
【where 筛选条件】

3. truncate table 表名

2. 二者的区别:

1.truncate删除后,如果再插入,标识列从1开始
  delete删除后,如果再插入,标识列从断点开始
  
2.delete可以添加筛选条件
  truncate不可以添加筛选条件
  
3.truncate效率较高

4.truncate没有返回值
  delete可以返回受影响的行数

5.truncate不可以回滚
  delete可以回滚

四. 增删改SQL代码演示

#1.	创建表 my_employees
USE myemployees;
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','Betty','Bdancs',860),
(3,'Biri','Ben','Bbiri',1100),
(4,'Newman','Chad','Cnewman',750),
(5,'Ropeburn','Audrey','Aropebur',1550);

#方式二:
INSERT INTO my_employees
SELECT 1,'patel','Ralph','Rpatel',895 UNION
SELECT 2,'Dancs','Betty','Bdancs',860 UNION
SELECT 3,'Biri','Ben','Bbiri',1100 UNION
SELECT 4,'Newman','Chad','Cnewman',750 UNION
SELECT 5,'Ropeburn','Audrey','Aropebur',1550;
			
#4.	 向 users表中插入数据
1	Rpatel		10
2	Bdancs		10
3	Bbiri		20

INSERT INTO users
VALUES(1,'Rpatel',10),
(2,'Bdancs',10),
(3,'Bbiri',20);

#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,e
FROM users u
JOIN my_employees e ON u.`userid`=e.`Userid`
WHERE u.`userid`='Bbiri';

#8.删除所有数据
DELETE FROM my_employees;
DELETE FROM users;

#9.检查所作的修正
SELECT * FROM my_employees;
SELECT * FROM users;

#10.清空表my_employees
TRUNCATE TABLE my_employees;

总结:基本的增删改查都已经完事。

猜你喜欢

转载自blog.csdn.net/w_x_A__l__l/article/details/107407749