前言:所有语句仍然是在mysql的可视化工具(Navicat 15 for MySQL)下完成的。
mysql数据操作1:查询,更新,删除数据
# 创建学院表
CREATE TABLE tb_college
(
collid INT auto_increment COMMENT '编号',
collname VARCHAR(50) NOT NULL COMMENT '名称',
collintro VARCHAR(200) DEFAULT '' COMMENT '简介',
PRIMARY KEY(collid)
);
# 插入学院数据
INSERT INTO tb_college(collname,collintro) VALUES
('计算机学院','通过网络,环游世界'),
('数学学院','你,会不会是下一个华罗庚?'),
('艺术学院','来吧,和你的偶像零距离接触');
#查询数据
SELECT * FROM tb_college;
SELECT collid, collintro FROM tb_college;
#WHERE,LIKE子句
SELECT collid, collname, collintro FROM tb_college
WHERE collname LIKE '%学院' AND collintro LIKE '%网络%';
#更新数据
UPDATE tb_college SET collintro = '欢迎来到浩瀚的网络世界' WHERE collid = 1;
#删除数据
#如果没有指定where子句,会删除表中的所有数据
DELETE FROM tb_college WHERE collid = 3;
mysql数据操作2:排序,分组
#创建人物表
CREATE TABLE tb_name (
id INT(11),
iname VARCHAR(10),
age INT(3),
PRIMARY KEY(id)
);
INSERT INTO tb_name VALUES
(1001, '张三', 17),
(1002, '小美', 16),
(1003, '啊Q', 21),
(1004, '张三', 22),
(1005, '小美', 17),
(1006, '张三', 16);
#排序
#ASC(升序,默认),DESC(降序)
SELECT * FROM tb_name ORDER BY age DESC, id;
#分组
SELECT iname, COUNT(*) AS '次数' FROM tb_name GROUP BY iname;
#WITH ROLLUP分组再统计
SELECT iname, AVG(age) FROM tb_name GROUP BY iname WITH ROLLUP;
#COALESCE语法,取代NULL名称
SELECT COALESCE(iname,'平均年纪'), AVG(age) FROM tb_name GROUP BY iname WITH ROLLUP;
mysql数据操作3:多表组合
#创建家庭表
CREATE TABLE tb_family (
id INT(11),
iname VARCHAR(10),
family INT(3),
PRIMARY KEY(id)
);
INSERT INTO tb_family VALUES
(1001, '张三', 5),
(1002, '勤奋', 4),
(1003, '啊Q', 3),
(1005, '海阔', 8);
#UNION多表查询结果组合到一个结果集里
SELECT iname FROM tb_name
UNION
SELECT iname FROM tb_family;