请用sql语言详细编程实现以下内容: 增加、删除,改变、查询关键字 介绍内连接、外连接,关键字 查找排名第二的学生 找出两数组公共部分并去重 平均分低于80的同学的姓名 删除平均分大于60的同学 不订购任何商品的顾客姓名 数据库常见的引擎 innodb,myisam区别,哪个查询块 MySQL的drop、delete 与truncate的区别 事务
时间: 2024-03-07 18:49:34 浏览: 74
1. 增加关键字:
```sql
INSERT INTO keywords (keyword) VALUES ('new_keyword');
```
2. 删除关键字:
```sql
DELETE FROM keywords WHERE keyword = 'old_keyword';
```
3. 改变关键字:
```sql
UPDATE keywords SET keyword = 'new_keyword' WHERE keyword = 'old_keyword';
```
4. 查询关键字:
```sql
SELECT keyword FROM keywords;
```
5. 内连接:
内连接是指只返回两个表中匹配的行,即连接条件成立的行。
```sql
SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers
ON orders.customer_id = customers.customer_id;
```
6. 外连接:
外连接是指返回两个表中所有的行,同时匹配的行返回连接条件成立的行,不匹配的行返回 NULL 值。
```sql
SELECT customers.customer_name, orders.order_id
FROM customers
LEFT JOIN orders
ON customers.customer_id = orders.customer_id;
```
7. 查找排名第二的学生:
```sql
SELECT student_name
FROM students
ORDER BY score DESC
LIMIT 1, 1;
```
8. 找出两数组公共部分并去重:
```sql
SELECT DISTINCT column_name
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
```
9. 平均分低于80的同学的姓名:
```sql
SELECT student_name
FROM students
WHERE AVG(score) < 80;
```
10. 删除平均分大于60的同学:
```sql
DELETE FROM students
WHERE AVG(score) > 60;
```
11. 不订购任何商品的顾客姓名:
```sql
SELECT customer_name
FROM customers
LEFT JOIN orders
ON customers.customer_id = orders.customer_id
WHERE orders.order_id IS NULL;
```
12. innodb,myisam区别,哪个查询块:
InnoDB 支持事务和行级锁,适合高并发的 OLTP 应用;MyISAM 不支持事务和行级锁,适合读密集型的应用。在查询速度上,MyISAM 比 InnoDB 更快。
13. MySQL的drop、delete 与 truncate的区别:
DROP:删除表结构和表数据,无法回滚。
DELETE:删除表数据,支持回滚。
TRUNCATE:删除表数据,不支持回滚。
14. 事务:
事务是指一组逻辑操作单元,这些操作要么全部成功,要么全部失败回滚。事务的 ACID 特性包括原子性、一致性、隔离性和持久性。在 MySQL 中使用 BEGIN、COMMIT 和 ROLLBACK 命令控制事务。
阅读全文