SQLyog语句
新建表单
显示语句
SELECT * FROM 表名;
添加数据
INSERT INTO 表名(列1,列n) VALUES (值1,'值n');
删除数据和删除所有数据(删除所有数据表还在)
DELETE FROM 表名 WHERE 列1=值1;
TRUNCATE TABLE 新表名;
修改数据
UPDATE 表名 SET 列n = '值n' WHERE 列1=值1;
查询数据
select 列1,列n from 表名;
修改表添加列
UPDATE 表名 SET 需要修改的列 = '值';
去重演练
SELECT DISTINCT 列名 FROM 表名;
创建学生表
CREATE TABLE Student(
id INT,
java INT,
html INT,
sname VARCHAR(3)
);
插入数据
INSERT INTO 表名 VALUES (值1,值2,值n);
显示姓名与总成绩
缺考学生
INSERT INTO 表名(值1,值n) VALUES (值1,值n);
- finull函数
给null数据提供默认值的函数
查询数据
SELECT * FROM 表名 WHERE 列1 LIKE '张%';%后面是无线
排序查询
- 由低到高
SELECT * FROM 表名 ORDER BY 列名;
- 由高到低
SELECT * FROM 表名 ORDER BY 列名 DESC;
- 若同列有相同则由第二列来排序
SELECT * FROM 表名 ORDER BY 列1 DESC,列2 DESC;
- 统计总数
SELECT COUNT(列名) 表名;
SELECT COUNT(1) FROM 表名;
- 最大值(MAX) 最小值同理(MIN)
SELECT MAX(列名) FROM 表名;
- 平均值
SELECT AVG(列名) FROM 表名;
添加列
ALTER TABLE 表名 ADD 列 VARCHAR(2) DEFAULT '值';
修改数据
UPDATE 表名 SET 列名1 = '值1' WHERE 列名2=值2;
分组查询
- 列查询
SELECT 列名1 FROM 表名 GROUP BY 列名1;
- 总数查询
SELECT
gender,COUNT(1)总人数,
MAX(java) AS 'java最高分',
AVG(java) AS '平均分'
FROM
Student
WHERE
id>1
GROUP BY
gender
HAVING
AVG(java)>70;
数据分页显示
-- 数据分页显示
-- 显示第一条数据
SELECT * FROM Student LIMIT 0,1;
-- 显示第二条数据
SELECT * FROM Student LIMIT 1,1;
SELECT * FROM Student LIMIT 2,1;
总代码
USE db9203;
CREATE TABLE fuxi(
sid INT;
sname VARCHAR(3)
);db9203;
-- 显示
SELECT * FROM fuxi;
-- 添加
INSERT INTO fuxi(sid,sname) VALUES (1,'吕布');、
INSERT INTO fuxi(sid,sname) VALUES (2,'张飞');
INSERT INTO fuxi(sid,sname) VALUES (3,'张三丰');
-- 删除
DELETE FROM fuxi WHERE sid=1;
-- 删除所有数据
TRUNCATE TABLE fuxitwo;
-- 修改
UPDATE fuxi SET sname = '张星彩' WHERE sid=3;
-- 查询数据
SELECT sid FROM fuxi;
-- 修改sid=1的数据,地点位于武汉
UPDATE fuxi SET place = '武汉';
INSERT INTO fuxi(sid,sname,place) VALUES (10,'吕小布','河北');
UPDATE fuxi SET place = '北京' WHERE sid=2;
UPDATE fuxi SET place = '上海' WHERE sid=3;
-- 去重查询
SELECT DISTINCT place FROM fuxi;
-- 创建学生成绩表
CREATE TABLE Student(
id INT,
java INT,
html INT,
sname VARCHAR(3)
);
-- 插入一个学生成绩
-- 使用全裂插入
INSERT INTO Student VALUES (1,65,72,'张良');
INSERT INTO Student VALUES (3,70,80,'张飞');
INSERT INTO Student VALUES (4,90,90,'关羽');
-- 查看全表
SELECT * FROM Student;
-- 显示姓名与总成绩
SELECT sname,java,html,java+IFNULL(html,0) AS '总成绩' FROM student;
-- 插入一个缺考的数据
INSERT INTO Student(id,java,sname) VALUES (2,90,'刘备');
-- 查询新名字姓张的学生
SELECT * FROM Student WHERE sname LIKE '张%';
-- 排序由低到高
SELECT * FROM Student ORDER BY java;
-- 排序由高到低
SELECT * FROM Student ORDER BY java DESC;
-- 如果Java列相同则按照html来排序
SELECT * FROM Student ORDER BY java DESC,html DESC;
-- 统计总数
SELECT COUNT(html) FROM Student;
SELECT COUNT(1) FROM Student;
-- 最大值
SELECT MAX(html) FROM Student;
-- 平均值
SELECT AVG(html) FROM Student;
-- 查询所有数据
SELECT * FROM Student;
-- 添加性别列
ALTER TABLE Student ADD gender VARCHAR(2) DEFAULT '男';
-- 修改性别
UPDATE Student SET gender = '女' WHERE id=1;
-- 分组查询按性别
SELECT gender FROM Student GROUP BY gender;
-- 分组类似去重
SELECT DISTINCT gender GROUP BY Student;
-- 分组后查询每组总人数
SELECT
gender,COUNT(1)总人数,
MAX(java) AS 'java最高分',
AVG(java) AS '平均分'
FROM
Student
WHERE
id>1
GROUP BY
gender
HAVING
AVG(java)>70;
-- 数据分页显示
-- 显示第一条数据
SELECT * FROM Student LIMIT 0,1;
-- 显示第二条数据
SELECT * FROM Student LIMIT 1,1;
SELECT * FROM Student LIMIT 2,1;