auto_increment: 自增 primary key : 主键 not null 非空
auto_increment自增primary key主键not null非空unique唯一default默认值comment注释 USE barcelona; CREATE TABLE games ( num INT(2) AUTO_INCREMENT PRIMARY KEY`members` COMMENT "序号", NAME VARCHAR(20) NOT NULL COMMENT "球员", age INT(2) NOT NULL COMMENT "年龄", goal INT(2) DEFAULT 0 COMMENT "进球数", assist INT(2) DEFAULT 0 COMMENT "助攻数" );语法:
select 函数(某字段) as 别名 from 表名;例子:
# -- max/min/avg/count/sum(字段名) SELECT MAX(age) AS 年龄最大, MIN(age) AS 年龄最小 FROM games; SELECT SUM(goal) AS 总进球数, COUNT(*) AS 计数, AVG(goal) AS 平均数 FROM games g;最大值和最小值 计数,求和,求平均
例子:
例子:
group by 数据
SELECT Pos AS 位置 ,COUNT(Pos) AS 人数 FROM members GROUP BY Pos; 位置 人数 DF 1 FW 3 MF 1人数小于2的列
-- group by + having-- -- having 条件表达式:用来过滤分组结果 -- having作用和where类似,但having只能用于group by 而where是用来过滤表数据 SELECT Pos AS 位置 ,COUNT(Pos) AS 人数 FROM members GROUP BY Pos HAVING COUNT(*)<2; 位置 人数 DF 1 MF 1输出
country count(*) Argentina 1 France 1 Netherlands 1 Spain 2 NULL 5按进球数升序排序 按进球数降序排序 按名字升序排序
语法:
select 显示字段 from 表名 where 某字段 like 字符; 查询所有以C开头的书籍 SELECT * FROM book WHERE B_NAME LIKE "C%"; 查询所有以b结尾的书籍 SELECT * FROM book WHERE B_NAME LIKE "%b"; 查询所有包含“入门”的书籍 SELECT * FROM book WHERE B_NAME LIKE "%入门%";语法:
select 字段1 (别名) 字段2 (别名) from 表1 (别名), 表2 (别名) where 条件;例子:
SELECT g.`num` "号码",g.`name` "名字",m.`Pos` "位置", m.`country` "国籍" FROM games g, members m WHERE g.`name`=m.`name`;结果:
语法:
在这里插入代码片语法:
-- 左外连接(当条件不满足时,以左边的表为主)(left join 左边表为主) compare following sample difference -- sample 1 book 为主 -- 如果publisher中没有book的书,就使用null SELECT * FROM book b LEFT JOIN publisher p ON b.`P_ID`=p.`P_ID`; -- sample 2 publisher 为主 SELECT * FROM publisher p LEFT JOIN book b ON b.`P_ID`=p.`P_ID`;语法:
SELECT * FROM book b RIGHT JOIN publisher p ON b.`P_ID`=p.`P_ID`; -- sample 2 book 为主 SELECT * FROM publisher p RIGHT JOIN book b ON b.`P_ID`=p.`P_ID`;