SQL简述

SQL:
数据库三范式:第一范式1NF:属性不可分割 ,表中每一列不可再拆分
第二范式2NF表中非主键列依赖于主键(联合主键情况下(多个主键存在),非主键列不能只依赖于主键的一部分)
第三范式3NF不存在依赖传递
如何删除一个表:drop table [if exists判断该表是否存在]表名
数据库管理系统的英文缩写 DBMS
sql查询语句中where子句,对空值的操作:1.Where 列名 is not null     2.where 列名!='null'  3.where 列名<>'null'  
mysql shell命令使用账户号密码登录数据库的格式 mysql -uroot -p password
CRUD操作:增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)
数据库的量级:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB
sql查询命令不重复记录:SELECT DISTINCT 列名FROM table;  选取表中所有不重复的值
E-R图是:实体联系图,描述现实时间的概念模型
SQL命令根据ID删除一条记录:DELETE FROM 表名称 WHERE 列名称 = 值
DML命令:数据操作语言,对数据表中数据进行操作,增删改
DDL是什么:数据定义语言:创建,删除数据库和表的操作
DQL:数据查询语言,从数据表中筛选数据
DCL数据控制语言,用于控制数据库权限,用户管理

查询所有列:不建议使用*的代码,开发效率太低,使用select 列名 from 表名
去重 select 列名 distinct from 表名
limit 起始,数量  使用limit限制返回的行数
as起别名的时候,as写不写都行,别名加不加都行,加引号别名是引号里面的内容,不加引号别名会解析位大写
between 下限 and 上限值  值在[下限,上限]都返回
is not null 不为空
<>不等于 != 不等于 not in 不等于
可以使用双查询的形式,先查询符合的id,再在表中查询该id
lik'匹配内容' _表示一个字符,%表示0或者多个字符,[]代表匹配其中的任意一个字符,[^] 代表非,不匹配其中的任意一个字符
group by 分组
当聚合条件位筛选结果的时候,不能使用where函数,使用having函数。where对数据库中原始字段做限制,having对前面提到的字段限制
union all 不去重   union 联合查询
select device_id,gender,age,gpa from user_profile where university='山东大学'
union all
select device_id,gender,age,gpa from user_profile where gender='male'

case函数 
简单case函数
CASE 测试表达式
WHEN 简单表达式1 THEN 结果表达式1
WHEN 简单表达式2 THEN 结果表达式2 …
WHEN 简单表达式n THEN 结果表达式n
[ ELSE 结果表达式n+1 ]
END
搜索case函数
CASE
WHEN 布尔表达式1 THEN 结果表达式1
WHEN 布尔表达式2 THEN 结果表达式2 …
WHEN 布尔表达式n THEN 结果表达式n
[ ELSE 结果表达式n+1 ]
END2

截取日期函数用extract(day from date)

substring_index(str,delim,count)  字符串截取函数,str要处理的字符串,delim分隔符,count计数
select 
-- 替换法 replace(string, '被替换部分','替换后的结果')
-- device_id, replace(blog_url,'http:/url/','') as user_name

-- 截取法 substr(string, start_point, length*可选参数*)
-- device_id, substr(blog_url,11,length(blog_url)-10) as user_nam

-- 删除法 trim('被删除字段' from 列名)
-- device_id, trim('http:/url/' from blog_url) as user_name

-- 字段切割法 substring_index(string, '切割标志', 位置数(负号:从后面开始))
device_id, substring_index(blog_url,'/',-1) as user_name

from user_submit;

sql中的if(条件,1,0)函数成立就是1,不成立0
DATEDIFF() 函数返回两个日期之间的天数。
 

你可能感兴趣的:(sql,sql,数据库,mysql)