MySQL命令总汇
批量创建表
for i in {1..10}; do mysql -h 192.168.245.189 -u root -P 3306 王者荣耀 -p123 -e "create table 张三$i ( 姓名 char(10),编号 int(10))" ; done
- 1.
批量删除表
for i in `mysql -h 192.168.245.189 -u root -P 3306 王者荣耀 -p123 -e "show tables" | egrep -v "game|in"`;do mysql -h 192.168.245.189 -u root -P 3306 王者荣耀 -p123 -e "drop table $i" ;done
- 1.
查询命令
1. 查询game表中的全部信息
SELECT * FROM game;
2. 查询game表中的全部信息,并且在表名前面加库名,给表取别名为zz
SELECT * FROM 王者荣耀.game AS zz;
3. 查询game表中的类型一列的信息
SELECT 类型 FROM game;
4. 查询game表中的类型一列的信息,并且去重
SELECT DISTINCT 类型 FROM game;
5. 查询game表中类型是法师的全部信息(使用三种方法)
SELECT * FROM game WHERE 类型 = '法师';
SELECT * FROM game WHERE 类型 LIKE '法师';
SELECT * FROM game WHERE 类型 in ( '法师');
6. 查询game表中,类型是法师,并且等级大于30的全部信息
SELECT * FROM game WHERE 类型 = '法师' AND 等级 > 30;
7. 查询game表中,类型是法师,或者等级大于60的全部信息
SELECT * FROM game WHERE 类型 = '法师' OR 等级 > 60;
8. 查询game表中,等级在60至80的全部信息(包含60和80,使用2种方法)
SELECT * FROM game WHERE 等级 BETWEEN 60 AND 80;
SELECT * FROM game WHERE 等级 >= 60 AND 等级 <= 80;
9. 查询game表中,等级和姓名两列信息。
SELECT 等级,姓名 FROM game;
10. 请查询game表中,姓李的英雄的所有信息
SELECT * FROM game WHERE 姓名 LIKE '李%';
11. 请查询game表中,姓名的倒数第二个字是"小"的英雄所有信息
SELECT * FROM game WHERE 姓名 LIKE '%小_';
12. 请查询game表中,姓名包括“信”的英雄所有信息
SELECT * FROM game WHERE 姓名 LIKE '%信%';
13. 请查询game表中,姓名最后一个字符是“信”,且只有3个字符的英雄的所有信息。
SELECT * FROM game WHERE 姓名 LIKE '__信';
14. 请查询game表中,编号乘于等级后,取别名为zz的一列信息;
SELECT 编号 * 等级 AS 'zz' FROM game ;
15. 请查询game表中,类型不是法师的英雄的所有信息,使用4种方法
SELECT * FROM game WHERE 类型 != '法师';
SELECT * FROM game WHERE NOT 类型 = '法师';
SELECT * FROM game WHERE NOT 类型 LIKE '法师';
SELECT * FROM game WHERE NOT 类型 IN ('法师');
16. 请查询game表中,等级不小于等于60的英雄的所有信息
SELECT * FROM game WHERE NOT 等级 <= 60;
17. 请查询game表中,类型是空值(null)的全部信息
SELECT * FROM game WHERE 类型 IS NULL;
18. 请查询game表中,类型不是空值(null)的全部信息
SELECT * FROM game WHERE 类型 IS NOT NULL;
SELECT * FROM game WHERE NOT 类型 IS NULL;
19. 请查询gam表中李白、李广、武则天三位英雄的全部信息。使用3种方法
SELECT * FROM game WHERE 姓名 IN ('李白','李广','武则天')
SELECT * FROM game WHERE 姓名 = '李白' OR 姓名 = '李广' OR 姓名 = '武则天'
SELECT * FROM game WHERE 姓名 LIKE '李白' OR 姓名 LIKE '李广' OR 姓名 LIKE '武则天'
20. 在王者荣耀数据库中有dj、lx两张表,请查询每个英雄的所有信息。(使用”编号“进行等值连接,并且使用3种方法)
SELECT * FROM dj, lx WHERE dj.编号 = lx.编号
SELECT * FROM dj JOIN lx ON dj.编号 = lx.编号
SELECT * FROM dj JOIN lx USING (编号);
21. 在王者荣耀数据库中,有dj、lx两张表,请查询dj表的全部信息,并且进行左外连接查询。
SELECT * FROM dj LEFT OUTER JOIN lx ON dj.编号 = lx.编号
22. 查询game表的前3行
SELECT * FROM game LIMIT 3 ;
23. 请查询game表中,从第4行开始的3条数据
SELECT * FROM game LIMIT 3,3;
24. 查询game表全部信息,并且按"编号"列升序
SELECT * FROM game ORDER BY 编号
25. 查询game表全部信息,并且按"编号"列倒序
SELECT * FROM game ORDER BY 编号 DESC
26. 查询game表全部信息,并且按"编号"列和"等级"列升序
SELECT * FROM game ORDER BY 编号,等级
27. 查询game表多少行数
SELECT COUNT(*) FROM game
28. 查询game表“等级”列多少行数据
SELECT COUNT(等级) FROM game
29. 查询game表“等级”列所有行的和
SELECT SUM(等级) FROM game
30. 查询game表“等级”列所有行的平均值
SELECT AVG(等级) FROM game
31. 查询game表“等级”列的最大值
SELECT MAX(等级) FROM game
32. 查询game表“等级”列的最小值
SELECT MIN(等级) FROM game
33. 请查询sell表中,每个用户有多少订单号?
SELECT COUNT(*), 用户号 FROM sell GROUP BY 用户号
新增命令
1. 创建数据库王者荣耀
create database 王者荣耀;
2. 显示所有数据库
show databases;
3. 切换数据库
use 王者荣耀;
4. 删除数据库
drop database 王者荣耀;
5. 创建数据表game,且有“编号 int(10)”,“姓名 char(10)” , "出生日期 date"三列信息。
create table game (
编号 int(10),
姓名 char(10),
出生日期 date
)
6. 显示所有数据表
show tables;
7. 删除数据表game
drop table game;
8. # 在game表中,新增“成绩 int(20)”列
ALTER TABLE game ADD 成绩 INT(20)
9. #删除game表中的“成绩”列
ALTER TABLE game DROP 成绩
10. # 将game表中的“姓名”字段名修改为“name char(20)”
ALTER TABLE game CHANGE 姓名 name char(20)
11. 表名game修改为“游戏”
ALTER TABLE game RENAME 游戏
12. 将game表的表结构复制到game1中
CREATE TABLE game1 LIKE game
13. 将game表中的全部数据复制到game1中
CREATE TABLE game1 AS (SELECT * FROM game)
14. insert into game () values (10, "姓名", 10, "阜阳")
15. DELETE FROM game WHERE 等级 = 20
16. 删除game表中所有的数据
DELETE FROM game
TRUNCATE TABLE ROSE
17. 更改game表中,等级是20英雄的地址为阜阳
update game set 地址 = "阜阳" where 编号 = 20;
视图
# 创建视图
CREATE VIEW game0 AS (SELECT * FROM game) WITH CHECK OPTION
# 插入视图数据
INSERT INTO game1 () VALUES (10000, '李白', 10000, '长安')
# 更新视图数据
UPDATE game0 SET 姓名 = '程咬金' WHERE 姓名 = '安琪拉'
# 修改视图字段名
ALTER VIEW game00 (编号, xingming, 等级, dizhi) AS (SELECT * FROM game)
# 删除视图
DROP VIEW game00
# 删除视图game0的所有数据
DELETE FROM game0
DELETE FROM game0 WHERE 姓名 = '程咬金'
索引
# 创建索引
CREATE INDEX 索引名 ON 表名(字段名);
#删除索引
DROP INDEX 索引名 ON 表名
#查询索引
SHOW INDEX FROM 表名