MySQL学习
主要来自myemployees这个数据库
– 1. 查询工资大于 12000 的员工姓名和工资
SELECT first_name,last_name,salary
FROM employees
WHERE salary>12000;
– 2.返回job_id与 141 号员工相同,salary 比143 号员工多的员工姓名,job_id 和工资 – salary 比143 号员工多,别看多的,就先找到143号员工的salary
SELECT salary
FROM employees
WHERE employee_id=143;
– 返回job_id 与141 号员工相同,其实只要先得到141号员工的job_id这单行,最后用where比较
SELECT job_id
FROM employees
WHERE employee_id=141;
SELECT first_name,job_id,salary
FROM employees
WHERE job_id=(SELECT job_id
FROM employees
WHERE employee_id=141)
AND salary>(SELECT salary
FROM employees
WHERE employee_id=143)
– 返回公司工资最少的员工的last_name,job_id 和salary
SELECT last_name,job_id,salary
FROM employees
WHERE salary=(SELECT MIN(salary)
FROM employees);
– 返回公司工资最少的员工的last_name,job_id 和salary
SELECT last_name,job_id,salary
FROM employees
WHERE salary=(SELECT MIN(salary)
FROM employees);
– 查询最低工资大于50 号部门最低工资的部门id
-- 先查询50号部门最低工资
SELECT MIN(salary)
FROM employees
WHERE department_id=50;
-- 先查询50号部门最低工资
SELECT MIN(salary)
FROM employees
WHERE department_id=50;
SELECT department_id,MIN(salary) AS lowSalary
FROM employees
GROUP BY department_id
HAVING lowSalary>( SELECT MIN(salary)
FROM employees
WHERE department_id=50)
– 返回location_id 是1400 或1700 的部门中的所有员工姓名
SELECT first_name
FROM employees
WHERE department_id IN(
SELECT department_id
FROM departments
WHERE location_id BETWEEN 1400 AND 1700);
– 2. 查询员工号为 176 的员工的姓名和部门号和年薪
SELECT last_name,department_id,salary*12
FROM employees
WHERE employee_id=176;
– 3. 选择工资不在 5000 到 12000 的员工的姓名和工资
SELECT last_name,salary
FROM employees
WHERE salary NOT BETWEEN 5000 AND 12000;-- IN指的是必须在输入的数字内,而不是一个区间
– 4. 选择在 20 或 50 号部门工作的员工姓名和部门号
SELECT last_name,department_id
FROM employees
WHERE department_id IN(20,50);
– 5. 选择公司中没有管理者的员工姓名及 job_id
SELECT job_id,last_name
FROM employees
WHERE manager_id IS NULL;
– 6. 选择公司中有奖金的员工姓名,工资和奖金级别
SELECT last_name,salary,commission_pct
FROM employees
WHERE commission_pct>0;
– 7. 选择员工姓名的第三个字母是 a 的员工姓名
SELECT last_name
FROM employees
WHERE last_name LIKE '__a%';
– 8. 选择姓名中有字母 a 和 e 的员工姓名
SELECT last_name
FROM employees
WHERE last_name LIKE '%a%'OR last_name LIKE '%e%';
– 9. 显示出表 employees 表中 first_name 以 ‘e’结尾的员工信息
SELECT first_name
FROM employees
WHERE first_name LIKE '%e';
– 10. 显示出表 employees 部门编号在 80-100 之间 的姓名、职位
SELECT first_name,job_id
FROM employees
WHERE department_id BETWEEN 80 AND 100;
– 11. 显示出表 employees 的 manager_id 是 100,101,110 的员工姓名、职位
SELECT first_name job_id
FROM employees
WHERE manager_id IN(100,101,110);
– 排序数据
– 1. 查询员工的姓名和部门号和年薪,按年薪降序 按姓名升序
SELECT first_name,department_id,salary
FROM employees
ORDER BY salary DESC , first_name ASC; -- 中间不需要 and
– 2. 选择工资不在 8000 到 17000 的员工的姓名和工资,按工资降序
SELECT first_name,salary
FROM employees
WHERE salary NOT BETWEEN 8000 AND 17000
ORDER BY salary DESC;
– 3. 查询邮箱中包含 e 的员工信息,并先按邮箱的字节数降序,再按部门号升序
SELECT *,LENGTH(email) AS el
FROM employees
WHERE email LIKE '%e%'
ORDER BY el DESC, department_id ASC;
– 单行函数
– 1. 显示系统时间(注:日期+时间)
SELECT NOW();
– 2. 查询员工号,姓名,工资,以及工资提高百分之 20%后的结果(new salary)
SELECT employee_id,first_name,salary,(salary*1.2) AS newsalary
FROM employees;
– 3. 将员工的姓名按 首字母排序,并写出姓名的长度(length)
SELECT first_name,LENGTH(first_name)
FROM employees
ORDER BY SUBSTR(first_name,1,1);-- substr(string string,num start,num length);
**– 4. 做一个查询,产生下面的结果
SELECT CONCAT(last_name,' earns ',salary,'monthly but wants ',salary*3) AS dream
FROM employees;
–5. 使用 CASE-when,按照下面的条件:
/*job grade
AD_PRES A
ST_MAN B
IT_PROG C
SA_REP D
ST_CLERK E
*/
SELECT job_id,
CASE job_id
WHEN 'AD_PRES' THEN 'A'
WHEN 'ST_MAN' THEN 'B'
WHEN 'IT_PROG' THEN 'C'
WHEN 'SA_REP' THEN 'D'
END grade
FROM employees;
– 分组函数
– 执行顺序 from->where->group by->select
– 1. 查询各 job_id 的员工工资的最大值,最小值,平均值,总和,并按 job_id 升序
SELECT job_id,MAX(salary),MIN(salary),AVG(salary),SUM(salary)
FROM employees
GROUP BY job_id
ORDER BY job_id ASC;
– 2. 查询员工最高工资和最低工资的差距(DIFFERENCE)
SELECT MAX(salary) AS smax,MIN(salary)AS smin,MAX(salary)-MIN(salary) AS diff
FROM employees;
– 3. 查询各个管理者手下员工的最低工资,其中最低工资不能低于 6000,没有管理者的员工不计算在内
SELECT MIN(salary) AS smin,manager_id
FROM employees
GROUP BY manager_id
HAVING smin>6000 AND manager_id IS NOT NULL;-- 也可以在分组前用where,注意这里smin 不能用salary
– 4. 查询所有部门的编号,员工数量和工资平均值,并按平均工资降序
SELECT department_id,COUNT(department_id),AVG(salary) AS avs
FROM employees
GROUP BY department_id
ORDER BY avs DESC;
– 5. 选择具有各个 job_id 的员工人数
SELECT job_id,COUNT(job_id)
FROM employees
GROUP BY job_id;
– 分组查询
– 1. 查询公司员工工资的最大值,最小值,平均值,总和
SELECT MAX(salary),MIN(salary),AVG(salary),SUM(salary)
FROM employees;
– 2. 查询员工表中的最大入职时间和最小入职时间的相差天数 (DIFFRENCE)
SELECT MAX(hiredate),MIN(hiredate),DATEDIFF(MAX(hiredate),MIN(hiredate)) AS 'interval day'
FROM employees;
– 3. 查询部门编号为 90 的员工个数
SELECT COUNT(*) AS nums
FROM employees
WHERE department_id=90;
– 语法连接查询
– 一、查询编号>3 的女神的男朋友信息,如果有则列出详细,如果没有,用 null 填充
SELECT *
FROM boys
WHERE id IN(SELECT boyfriend_id
FROM beauty
WHERE id>3);
– 二、查询哪个城市没有部门
SELECT *
FROM locations
LEFT JOIN departments ON departments.`location_id`=locations.`location_id`
WHERE department_id IS NULL;
SELECT
loc.`city`
FROM
locations loc
LEFT OUTER JOIN departments dep
ON loc.`location_id` = dep.`location_id`
WHERE dep.`department_id` IS NULL ;
– 三、查询部门名为 SAL 或 IT 的员工信息
SELECT department_name
FROM departments
WHERE department_name IN('SAL','IT');
– 语法链接2
– 1. 显示所有员工的姓名,部门号和部门名称。
SELECT first_name,D.department_id,D.department_name
FROM departments AS D,employees AS E
WHERE D.`department_id`= E.`department_id`;
– 2. 查询 90 号部门员工的 job_id 和 90 号部门的 location_id
SELECT E.`job_id`,D.`location_id`
FROM employees AS E, departments AS D
WHERE E.`department_id`=D.`department_id` AND E.`department_id`=90;
– 3. 选择所有有奖金的员工的last_name , department_name , location_id , city
SELECT last_name,department_name,D.location_id,city
FROM employees AS E,locations AS L, departments AS D
WHERE E.`department_id`=D.`department_id` AND D.`location_id`=L.`location_id`AND commission_pct>0;
– 4. 选择city在Toronto工作的员工的 last_name , job_id , department_id , department_name
SELECT last_name,job_id,D.department_id,department_name
FROM employees AS E,locations AS L, departments AS D
WHERE E.`department_id`=D.`department_id` AND D.`location_id`=L.`location_id` AND city='Toronto';
– 5.查询每个工种、每个部门的部门名、工种名和最低工资
SELECT J.job_id,D.department_name,job_title,MIN(salary)
FROM jobs AS J,employees AS E,departments AS D
WHERE J.`job_id`=E.`job_id` AND D.`department_id`=E.`department_id`
GROUP BY department_name,job_title; #看到每个要联想到group by
– 6.查询每个国家下的部门个数大于 2 的国家编号
SELECT COUNT(*),country_id
FROM locations AS L,departments AS D
WHERE L.location_id=D.location_id
GROUP BY country_id
HAVING COUNT(*)>2;
– 7、选择指定员工的姓名,员工号,以及他的管理者的姓名和员工号,结果类似于下面的格式
/* employees Emp# manager Mgr#
kochhar 101 king 100
*/
SELECT E.`last_name`,E.`employee_id`, M.last_name,M.employee_id
FROM employees E,employees M
WHERE E.manager_id=M.employee_id ;
– 子查询
– 1. 查询和 Zlotkey 相同部门的员工姓名和工资
SELECT last_name,salary
FROM employees
WHERE department_id=(SELECT department_id
FROM employees
WHERE last_name='Zlotkey') && last_name!='Zlotkey';
– 2. 查询工资比公司平均工资高的员工的员工号,姓名和工资。
SELECT employee_id,last_name,salary
FROM employees
WHERE salary > (SELECT AVG(salary)
FROM employees);
– 3. 查询各部门中工资比本部门平均工资高的员工的员工号, 姓名和工资
本题先获取各个部门的平均工资在之后与employeees表用department_id进行内连接,即可将平均工资的字段衔接到emp表,最后用where即可
SELECT employee_id,last_name,salary
FROM employees e
INNER JOIN(
SELECT AVG(salary) AS av, department_id
FROM employees
GROUP BY department_id
)ag
WHERE e.`department_id`=ag.department_id;
– 4. 查询和姓名中包含字母 u 的员工在相同部门的员工的员工号和姓名
SELECT employee_id,last_name
FROM employees e
INNER JOIN(
SELECT department_id
FROM employees
WHERE last_name LIKE '%u%'
GROUP BY department_id
)ag
WHERE ag.department_id = e.`department_id`;
子查询department_id有多个值可以用in
SELECT last_name,employee_id
FROM employees
WHERE department_id IN(
SELECT DISTINCT department_id
FROM employees
WHERE last_name LIKE '%u%'
);
– 5. 查询在部门的 location_id 为 1700 的部门工作的员工的员工号
SELECT employee_id
FROM employees
WHERE department_id IN(
SELECT department_id
FROM departments
WHERE location_id =1700
);
– 6. 查询管理者是 King 的员工姓名和工资
SELECT E.last_name,E.salary
FROM employees E,employees M
WHERE E.`manager_id`=M.`employee_id`AND M.`last_name`='K_ing';
– 7. 查询工资最高的员工的姓名,要求 first_name 和 last_name 显示为一列,列名为 姓.名
SELECT CONCAT(first_name,' ',last_name) AS ename,MAX(salary)
FROM employees;
– 数据处理
– 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 表中插入下列数据
INSERT INTO my_employees VALUE(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);
DROP TABLE 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
*/
– 4. 向 users 表中插入数据
INSERT INTO users VALUE(1,'Rpatel',10),(2,'Bdancs',10),(3,'Bbiri',20),(4,'Cnewman',30),(5,'Aropebur',40);
– 5. 将 3 号员工的 last_name 修改为“drelxer”
-- ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;#设置默认值的,修改用update
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 my_employees e,users u
WHERE e.userid=u.userid AND u.userid='Bbiri';
– 8. 删除所有数据
##如果我们仅仅需要删除表内的数据,但并不删除表本身,那么我们该如何做呢?TRUNCATE TABLE table_name
DROP TABLE my_employees;
– 创建和管理表
– 1. 创建表 dept1
CREATE TABLE dept1(
id INT(7),
NAME VARCHAR(25)
)
– 2.将表 departments 中的数据插入新表 dept2 中
CREATE TABLE dept2
SELECT *
FROM departments;
– 3.创建表 emp5
NAME NULL? TYPE
id INT(7)
First_name VARCHAR (25)
Last_name VARCHAR(25)
Dept_id INT(7)
CREATE TABLE emp5(
id INT(7),
first_name VARCHAR(25),
last_name VARCHAR(25),
dept_id INT(7)
)
– 4. 将列 Last_name 的长度增加到 50
ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR(50);
– 5. 根据表 employees 创建 employees2
CREATE TABLE employees2 LIKE myemployees.employees;
– 6. 删除表 emp5
DROP TABLE emp5;
– 7. 将表 employees2 重命名为 emp5
ALTER TABLE employees2 RENAME emp5;#可以不需要to
– 8. 在表 dept 和 emp5 中添加新列 test_column,并检查所作的操作
ALTER TABLE emp5 ADD COLUMN test_column INT;
ALTER TABLE dept ADD COLUMN test_column INT;
– 9. 直接删除表 emp5 中的列 dept_id
ALTER TABLE emp5 DROP COLUMN department_id;
– 约束
-- 1. 向表 users 的 id 列中添加 PRIMARY KEY 约束(my_emp_id_pk)
DESC users;
ALTER TABLE users MODIFY COLUMN id INT PRIMARY KEY ;
或者 alter table users add constraint primary key(id);
– 2. 向表 dept2 的 id 列中添加 PRIMARY KEY 约束(my_dept_id_pk)
ALTER TABLE dept2 MODIFY COLUMN department_id INT PRIMARY KEY;
– 3. 向表 users 中添加列 dept_id,并在其中定义 FOREIGN KEY 约束,与之相关联的列是dept2 表中的 id 列。
#ALTER TABLE users ADD CONSTRAINT fk_users_dept2 FOREIGN KEY(dept_id) REFERENCES dept2(id);
ALTER TABLE users ADD CONSTRAINT fk FOREIGN KEY(department_id) REFERENCES dept2(department_id);
– 事务
– 1.创建一个表,里面有 id 为主键,stuname 唯一键,seat 座位号,要求将 id 设置成自增
CREATE TABLE stu (
id INT AUTO_INCREMENT,
stuname VARCHAR(10) UNIQUE,
seat INT,
PRIMARY KEY(id)
);
#怎么让虚拟机Linux访问window的数据库呢? – 2.要求用事务的方式插入 3 行数据
START TRANSACTION;
INSERT INTO stu(stuname,seat) VALUES('soup',1),('tang',2);
COMMIT;
UPDATE stu
SET seat=3
WHERE id =2;
– 3.要求用事务的方式删除数据,并回滚
START TRANSACTION;
DELETE FROM stu;
SELECT * FROM stu;
ROLLBACK;
– 视图
– 一、创建视图 emp_v1,要求查询电话号码以‘011’开头的员工姓名和工资、邮箱
/* CREATE VIEW ProductSum (product_type, cnt_product)#视图列名
AS
SELECT product_type, COUNT(*)
FROM Product
GROUP BY product_type*/#注意这里创建视图的列要与select选的列一致对应
CREATE VIEW emp_v1(v1_name,v1_salary,v1_email)
AS SELECT last_name,salary,email
FROM employees
WHERE phone_number LIKE '011%';
SELECT *
FROM emp_v1;
– 二、要求将视图 emp_v1 修改为查询电话号码以‘011’开头的并且邮箱中包含 e 字符的员工姓名和邮箱、电话号码
CREATE OR REPLACE VIEW emp_v1
AS SELECT last_name,salary,email
FROM employees
WHERE phone_number LIKE '011%' AND email LIKE '%e%';
– 三、向 emp_v1 插入一条记录,是否可以?
插入视图的字段必须和试图的列对应,视图和表需要同时进行更新,因此通过汇总得到的视图无法进行更新 如通过group by
– 四、修改刚才视图中的Olsen邮箱为为‘[email protected]’
UPDATE emp_v1 SET email='[email protected]' WHERE last_name='olsen';#这里也修改了employees的Olsen的email值
– 六、创建视图 emp_v2,要求查询部门的最高工资高于 12000 的部门信息
CREATE VIEW emp_v2
AS SELECT *
FROM employees
GROUP BY department_id
HAVING MAX(salary)>12000;
SELECT *
FROM emp_v2;
– 七、向 emp_v2 中插入一条记录,是否可以?
#不能插入吧,这里使用了聚合函数max(个人观点)
INSERT INTO emp_v2(employee_id,last_name,manager_id,salary) VALUES(999,'dd',201,1700);
– 八、删除刚才的 emp_v2 和 emp_v1
DROP VIEW emp_v2,emp_v1;
– 函数
– 1、创建函数,实现传入两个 float,返回二者之和
CREATE FUNCTION fun6(num1 FLOAT,num2 FLOAT) RETURNS FLOAT
BEGIN
SET @SUM=0;
SET @SUM=num1+num2;
RETURN @SUM;
END$
SELECT fun6(12.12,23.14)$
– 2、创建函数,实现传入工种名,返回该工种的员工人数
CREATE FUNCTION fun7(job_id VARCHAR(20)) RETURNS INT
BEGIN
DECLARE num INT DEFAULT 0;
SELECT COUNT(*) INTO num FROM employees e WHERE e.job_id=job_id;
RETURN num;
END$
SELECT fun7('AD_VP')$
– 3、创建函数,实现传入员工名,返回该员工的领导名
SELECT e.last_name FROM employees e WHERE e.employee_id=(SELECT e2.manager_id FROM employees e2 WHERE e2.last_name='Gietz' );
CREATE FUNCTION fun8(last_name VARCHAR(50)) RETURNS VARCHAR(50)
BEGIN
DECLARE manager_name VARCHAR(50);
SELECT e.last_name INTO manager_name FROM employees e WHERE e.employee_id=(SELECT e2.manager_id FROM employees e2 WHERE e2.last_name=last_name );
RETURN manager_name;
END$
SELECT fun8('Ernst')$
– 子查询
– 1. 查询工资最低的员工信息: last_name, salary
– 2. 查询平均工资最低的部门信息 – 3. 查询平均工资最低的部门信息和该部门的平均工资 – 4. 查询平均工资最高的 job 信息 – 5. 查询平均工资高于公司平均工资的部门有哪些? – 6. 查询出公司中所有 manager 的详细信息. – 7. 各个部门中 最高工资中最低的那个部门的 最低工资是多少 – 8. 查询平均工资最高的部门的 manager 的详细信息: last_name, department_id, email,salary
#SQL基础教程第二版
– 创建一个新的数据库
-- 创建一个新的数据库
CREATE DATABASE shop;
-- 创建一个新表
/*
CREATE TABLE < 表名 >
( < 列名 1> < 数据类型 > < 该列所需约束 > ,
< 列名 2> < 数据类型 > < 该列所需约束 > ,
.
< 该表的约束 1> , < 该表的约束 2> ,……);
*/
CREATE TABLE Product(
product_id CHAR(4) NOT NULL,
product_name VARCHAR(100) NOT NULL,
product_type VARCHAR(32) NOT NULL,
sale_price INTEGER ,
purchase_price INTEGER ,
regist_date DATE ,
PRIMARY KEY (product_id)
);
– 表的删除,使用drop无法恢复
DROP TABLE 表名;
– 新增列
ALTER TABLE < 表名 > ADD COLUMN < 列的定义 > ;#列的定义 如purchase_price DATE
– 删除列
ALTER TABLE < 表名 > DROP COLUMN < 列名 > ;
– 插入数据
INSERT INTO Product VALUES ('0001', 'T 恤衫 ', ' 衣服 ',
1000, 500, '2009-09-20');
INSERT INTO Product VALUES ('0002', ' 打孔器 ', ' 办公用品 ',
500, 320, '2009-09-11');
INSERT INTO Product VALUES ('0003', ' 运动 T 恤 ', ' 衣服 ',
4000, 2800, NULL);
INSERT INTO Product VALUES ('0004', ' 菜刀 ', ' 厨房用具 ',
3000, 2800, '2009-09-20');
INSERT INTO Product VALUES ('0005', ' 高压锅 ', ' 厨房用具 ',
6800, 5000, '2009-01-15');
INSERT INTO Product VALUES ('0006', ' 叉子 ', ' 厨房用具 ',
500, NULL, '2009-09-20');
INSERT INTO Product VALUES ('0007', ' 擦菜板 ', ' 厨房用具 ',
880, 790, '2008-04-28');
INSERT INTO Product VALUES ('0008', ' 圆珠笔 ', ' 办公用品 ',
100, NULL,'2009-11-11');
– 修改表名
RENAME TABLE Poduct TO Product;
CREATE TABLE addressbook(
regist_no INT NOT NULL,
NAME VARCHAR(128) NOT NULL,
address VARCHAR(128) NOT NULL,
tel_no CHAR(10),
mail_address CHAR(20),
PRIMARY KEY(regist_no)
);
– 1.2 假设在创建练习1.1中的 Addressbook 表时忘记添加如下一列 postal_code (邮政编码)了,请把此列添加到 Addressbook 表中。
/*列名 : postal_code
数据类型 :定长字符串类型(长度为 8)
约束 :不能为 NULL */
ALTER TABLE addressbook ADD COLUMN postal_code CHAR(8) NOT NULL;
– 编写 SQL 语句来删除 Addressbook 表
SELECT DISTINCT product_type,regist_date
FROM product;#如果product_type一样则保留一个
#所有包含 NULL 的计算,结果肯定是 NULL
#选取某行是null时采用 is null
#count(某个具体的列)函数不计算为null的行,但是count(*)是计算所有行数
SELECT COUNT(*),product_type
FROM product
GROUP BY product_type;
#想要计算值的种类时,可以在 COUNT 函数的参数中使用 DISTINCT
#注意这两个结果是不一样的
#先计算数据行数再删除重复数据的结果,脱裤子放屁
SELECT DISTINCT COUNT(product_type)
FROM product;
#计算去除重复数据后的数据行数
SELECT COUNT(DISTINCT product_type)
FROM Product;
#创建一个新表
#创建一个新表
CREATE TABLE ProductIns(
product_id CHAR(4) NOT NULL,
product_name VARCHAR(100) NOT NULL,
product_type VARCHAR(32) NOT NULL,
sale_price INTEGER DEFAULT 0,#设置默认值为0
purchase_price INTEGER ,
regist_date DATE ,
PRIMARY KEY (product_id)
);
#如果想将整个表全部删除,可以使用 DROP TABLE 语句,如果只想删除表中全部数据,需使用 DELETE 语句 #① DROP TABLE 语句可以将表完全删除 #② DELETE 语句会留下表(容器),而删除表中的全部数据 #DELETE 语句的删除对象并不是表或者列,而是记录(行)。
#如果想将整个表全部删除,可以使用 DROP TABLE 语句,如果只想删除表中全部数据,需使用 DELETE 语句 #① DROP TABLE 语句可以将表完全删除 #② DELETE 语句会留下表(容器),而删除表中的全部数据 #DELETE 语句的删除对象并不是表或者列,而是记录(行)。