数据库笔记

基本语句

创建数据库:

create database 数据库名;

删除数据库:

drop database 数据库名;

使用数据库:

use 数据库名;

创建表:

create table 表名(字段1 字段类型 约束
                 字段2 字段类型 约束);

删除表:

delete from 表名 where 条件

更新表:

UPDATE 表名 SET 字段 = 值 WHERE 条件;

插入数据:

insert into 表名(字段1,字段2) values('值1','值2');

约束

非空约束(NOT NULL):指示某列不能存储 NULL 值。

唯一约束(UNIQUE) : 保证某列的每行必须有唯一的值。

主键预约(PRIMARY KEY): NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。

外键约束(FOREIGN KEY)保证一个表中的数据匹配另一个表中的值的参照完整性。

检查约束(CHECK):保证列中的值符合指定的条件。

默认约束(DEFAULT) : 规定没有给列赋值时的默认值

模糊查询

查询名字以 李 开始的人:

SELECT * FROM 表名 WHERE name字段 LIKE '李%'

查询名字包含 禹 的的人:

SELECT * FROM 表名 WHERE name字段 LIKE '%禹%'

查询名字的第一个字符之后是 禹 的人:

SELECT * FROM 表名 WHERE name字段 LIKE '_禹%'

查询记录的姓氏以 李 开头,然后是一个任意字符:

SELECT * FROM 表名 WHERE name字段 LIKE '李_%'

查询名字以 李 或 范 或 郭 或 王 开头的人:

SELECT * FROM 表名 WHERE name字段 LIKE '[李范郭王]%'

查询名字不以 李 或 范 或 郭 或 王 开头的人:

SELECT * FROM 表名 WHERE name字段 LIKE '[!李范郭王]%'

聚合函数执行顺序

Where --> Group By --> Having --> Order by

排序

order by 默认升序排序

按升序排序 :

order by 字段 asc

按降序排序 :

order by 字段 desc

字段1升序,字段2降序 :

order by 字段1 asc,字段2 desc

分组

group by 字段名

关联查寻

左连接 :

select * from 表1 left join 表2 on 表1.字段 = 表2.字段

右连接 :

select * from 表1 right join 表2 on 表1.字段 = 表2.字段

内连接 :

select * from 表1 inner join 表2 on 表1.字段 = 表2.字段

三表联查:

SELECT 
*
FROM

表1 a
join
表2 b
on a.字段1 = b.字段1

join
表3 c
on c.字段1 = b.字段2

常用函数

聚合函数(常用于GROUP BY从句的SELECT查询中)

AVG(col)返回指定列的平均值

COUNT(col)返回指定列中非NULL值的个数

MIN(col)返回指定列的最小值

MAX(col)返回指定列的最大值

SUM(col)返回指定列的所有值之和

常用函数网址 :

sql 常用函数总和_Z小胖的博客-CSDN博客_sql语句计算总和

嵌套语句

注意:嵌套语句可以为返回值,也可以为条件

返回值嵌套查询:

select  (select 字段1 from 表1 left join 表2 on 表1.字段 = 表2.字段)  from 表1 left join 表2 on 表1.字段 = 表2.字段

条件嵌套查询:

select * from 表1 left join 表2 on 表1.字段 = 表2.字段 where in (select 字段1 from 表1 left join 表2 on 表1.字段 = 表2.字段)

关联嵌套查询:

SELECT 字段1,字段2,字段3
FROM
(select 字段1,字段2
from 
表名
where 
条件) a

join
(select 字段1,字段3
from 
表名
where 
条件) b

on a.字段1 = b.字段1

关键字 in 和not in

字段1 in (select 字段1 from 表名) 等于 字段1 = 字段1

in: 可返回多条查询结果

not in: 查询该条之外的所有数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值