-- 条件查询语句 -- SELECt * FROM stu WHERe age BETWEEN 20 AND 30; -- SELECt * FROM stu WHERe hire_data BETWEEN '1998-09-01' AND '1999-09-01'; -- SELECt * FROM stu WHERe age = 18; -- SELECt * FROM stu WHERe age != 18; -- SELECt * FROM stu WHERe age = 18 OR age = 20 OR age = 22; SELECt * FROM stu WHERe age IN (18,20,22); SELECt * FROM stu WHERe english IS NULL; SELECt * FROM stu WHERe english IS NOT NULL; SELECt * FROM stu WHERe name LIKE '马%'; SELECt * FROM stu WHERe name LIKE '_化%'; SELECt * FROM stu WHERe name LIKE '%德%';
-- 排序查询语法 -- SELECt 字段列表 FROM 表名 ORDER BY 排序字段名1[排序方式],排序字段名2[排序方式]...; -- 排序方式: -- ASC:升序排序 -- DESC:降序排序 SELECt * FROM stu ORDER BY age ASC; SELECt * FROM stu ORDER BY math DESC; SELECt * FROM stu ORDER BY math DESC,english ASC;
-- 1.查询男同学和女同学各自的数学平均分 SELECt sex,AVG(math)FROM stu GROUP BY sex; -- 2.查询男同学和女同学各自的数学平均分以及各自的人数 SELECt sex,AVG(math),COUNT(*) FROM stu GROUP BY sex; -- 3.查询男同学和女同学各自的数学平均分以及各自的人数,低于70分不参与 SELECt sex,AVG(math),COUNT(*) FROM stu WHERe math > 70 GROUP BY sex; -- 4.查询男同学和女同学各自的数学平均分以及各自的人数,低于70分不参与 -- 分组后人数大于两个 SELECt sex,AVG(math),COUNT(*) FROM stu WHERe math > 70 GROUP BY sex HAVINg COUNT(*) > 2;
-- 1.从0开始查询三条数据 SELECt * FROM stu LIMIT 0 , 3; -- 2.每页查询三条数据,查询第一页数据 SELECt * FROM stu LIMIT 0 , 3; -- 3.每页查询三条数据,查询第二页数据 SELECt * FROM stu LIMIT 3, 3; -- 4.每页查询三条数据,查询第三页数据 SELECt * FROM stu LIMIT 6, 3;
今天出现了一点小问题,在第一行添加int类型附加主键约束和自增涨条件,后面正常添加数据出现1064报错
DROp TABLE IF EXISTS emp;
-- 员工表
CREATE table emp(
id int PRIMARY KEY NOT NULL AUTO_INCREMENT,-- 员工id,主键且自增长
ename VARCHAr(50) NOT NULL UNIQUE,-- 员工姓名,非空且唯一
joindate DATE NOT NULL, -- 入职日期,非空
salary DOUBLE(7,2) NOT NULL,-- 工资,非空
bonus DOUBLE(7,2) DEFAULT 0-- 奖金,如果没有奖金默认为0
);
SELECT * FROM emp;
INSERT INTO emp(ename,joindate,salary,bonus)VALUE('赵六','1999-11-11',8800);
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''赵六','1999-11-11',8800)' at line 1
有没有大佬能解释一下为什么会出现这样的错误呢?



