create database 库存名;
show databases;
use 库名
show tables;
drop database 库名;
create table 表名 (字段名,类型 约束)
dese 表名;
drop table 表名;
alter table 表名...;
查询
select 字段 from 表名 where 条件 ;
函数
count
avg
sum
max
min
排序
order by +
ASC
DESC
理解
SELECT是使数据库知道要检索数据的SQL关键字
[DISTINCT | ALL]是可选关键字,可用于微调从SQL SELECT语句返回的结果,如果未指定任何内容,则将ALL为默认值
------------------------------------------------------------------
{* | [fieldExpression [AS newName]}必须至少指定一部分
“ *”从指定的表名称中选择所有字段;fieldExpression对指定的字段执行一些计算
FROM tableName是强制性的,必须至少包含一个表,多个表必须使用逗号分隔或使用JOIN关键字联接
WHERE条件是可选的,它可以用于在查询返回的结果集中指定条件
GROUP BY用于将具有相同字段值的记录放在一起
使用GROUP BY关键字时,HAVING条件用于指定条件
ORDER BY用于指定结果集的排序顺序
多表联查
内连接
select 表名1.字段名1,表名2.字段名2 from 表1 inner join 表2 on 表名1.字段名 = 表名2.字段名 where 条件
左连接
select 表名1.字段名1,表名2.字段名2 from 表1 left join 表2 on 表名1.字段名 = 表名2.字段名 where 条件
右连接
select 表名1.字段名1,表名2.字段名2 from 表1 right join 表2 on 表名1.字段名 = 表名2.字段名 where 条件
自连接
子查询
-- SELECT 列名1,列名2... FROM 表1 INNER JOIN 表2 ON 表1.外键=表2.主键 WhERE 条件语句;
-- 将【student】表中的【name】和【college】表中的【collegeName】进行了重新结合,并检索出来
SELECT * from student
SELECT * FROM college
SELECT student.name,college.collegeName from student INNER JOIN college ON student.collegeID=college.collegeId
SELECT student.name,college.collegeName from student LEFT JOIN college ON student.collegeID=college.collegeId
SELECT student.name as '姓名',college.collegeName as '大学名' from student RIGHT JOIN college ON student.collegeID=college.collegeId
-- 自连接(别名,自连接的作用)
SELECT * FROM student s ,student a where a.collegeId=s.collegeId AND a.name <> s.name ORDER BY a.collegeId;
-- 子查询
SELECT * FROM (SELECT student.n