数据库

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容