数据库
2019-01-08 20:03:12 34 举报
AI智能生成
只是数据库最基本的知识
作者其他创作
大纲/内容
数据库的安装
增删改查
增
insert into 表名(类型) values (对应)
删
delete from 表名 删除所有的数据
drop table 表名 删除表
drop database 库名 删除库
改
update 表名 set 类型=值
查
show databases 查看数据库
show table 看表
select * from 表名 where 条件
使用 数据库
use 使用数据库
数据库的约束
主键约束
唯一且不为空,可以有多个主键
外键约束
条件:两个表之间。 可以为空,但需要一个表中的主键的相关类型连的键数据类型一致
默认值约束
default
唯一性约束
可以为空,但只能出现一个
不为空约束
not null
自增 auto_increment
作用在主键上
常见的错误
1005:创建表失败
1006:创建数据库失败
1049:数据库不存在<br>1050:数据表已存在<br>1051:数据表不存在
1158:网络错误,出现读错误,请检查网络连接状况<br>1159:网络错误,读超时,请检查网络连接状况<br>1160:网络错误,出现写错误,请检查网络连接状况<br>1161:网络错误,写超时,请检查网络连接状况<br>1062:字段值重复,入库失败<br>1169:字段值重复,更新记录失败<br>1177:打开数据表失败<br>1180:提交事务失败<br>1181:回滚事务失败<br>1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库<br>1205:加锁超时<br>1211:当前用户没有创建用户的权限<br>1216:外键约束检查失败,更新子表记录失败<br>1217:外键约束检查失败,删除或修改主表记录失败<br>1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器<br>1227:权限不足,您无权进行此操作<br>1235:版本过低,不具有本功能 <br>
查询
合并查询结果
利用union关键字,可以给出多条select语句,并将它们的即通过组合成单个结果集。合并时,两个表对应的列数和数据类型必须相同。各个select语句之间使用 union(会删去重复行)或union all(不会删除重复行)关键字分隔。
连接查询
内连接查询(INNER JOIN)
使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行,组合成新的记录,也就是说,在内连接查询中,只有满足条件的记录才能出现在结果关系中。
自连接查询:(特殊的内连接)
外连接查询
返回到查询结果集合中的不仅包含复合连接条件的行,而且还包括左表(左外连接 或左连接)、右表(右外连接或右连接)或两个边接表(全外连接)中所有数据行。
左外连接查询
右外连接查询
复合条件连接查询
子查询
1.带ANY SOME关键字的子查询,表示满足其中任一条件,他们允许创建一个表达式 对子查询的返回值列表进行比较,只要满足内层子查询中的任何一个比较条件,就 返回一个结果作为外层查询的条件。
2.带EXISTS关键字的子查询<br>EXISTS关键字后面的参数是一个任意的子查询,系统对子查询进行运算以判断它是 否返回行,如果至少返回一行,那么EXISTS的结果为true,此时外层查询语句将 进行查询;如果子查询没有返回任何行,那么EXISTS返回的结果为false,此时外 层语句将不进行查询。
3.带IN关键字的子查询 (IN、NOT IN)<br><br>IN关键字进行子查询时,内层查询语句仅仅返回一个数据列,这个数据列里的值 将提供给外层查询语句进行比较操作。
函数
.COUNT()函数:<br> 计算数据表中总共有的记录行数,或者根据查询结果返回的列中包含的行数。
SUM()函数: <br> 是一个求总和的函数,返回指定列的总和。
AVG()函数:<br> 通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。
MAX()函数:<br> 返回指定列中的最大值。
MIN()函数:<br> 返回指定列中的最小值。<br>
一、数学函数<br>ABS(x) 返回x的绝对值<br>BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)<br>CEILING(x) 返回大于x的最小整数值<br>EXP(x) 返回值e(自然对数的底)的x次方<br>FLOOR(x) 返回小于x的最大整数值<br>GREATEST(x1,x2,...,xn)返回集合中最大的值<br>LEAST(x1,x2,...,xn) 返回集合中最小的值<br>LN(x) 返回x的自然对数<br>LOG(x,y)返回x的以y为底的对数<br>MOD(x,y) 返回x/y的模(余数)<br>PI()返回pi的值(圆周率)<br>RAND()返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。<br>ROUND(x,y)返回参数x的四舍五入的有y位小数的值<br>SIGN(x) 返回代表数字x的符号的值<br>SQRT(x) 返回一个数的平方根<br>TRUNCATE(x,y) 返回数字x截短为y位小数的结果
二、聚合函数(常用于GROUP BY从句的SELECT查询中)<br>AVG(col)返回指定列的平均值<br>COUNT(col)返回指定列中非NULL值的个数<br>MIN(col)返回指定列的最小值<br>MAX(col)返回指定列的最大值<br>SUM(col)返回指定列的所有值之和<br>GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果<br>
三、字符串函数<br>ASCII(char)返回字符的ASCII码值<br>BIT_LENGTH(str)返回字符串的比特长度<br>CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串<br>CONCAT_WS(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并用sep字符间隔<br>INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果<br>FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置
四、日期和时间函数<br>CURDATE()或CURRENT_DATE() 返回当前的日期<br>CURTIME()或CURRENT_TIME() 返回当前的时间<br>DATE_ADD(date,INTERVAL int keyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),
五、加密函数 MD5() 计算字符串str的MD5校验和
正则表达式简介REGEXP
以特定字符或字符串开头的记录 REGEXP '^b'
以特定字符或字符串结尾 REGEXP 'y$'
用符号'.'来代替字符串中的任意一个字符
'*'匹配前面的字符任意多个,包括出现0次 范围:0~n次 (前面一个)
'+'匹配前面的字符至少出现一次 范围:1~n次 (前面所有)
‘[^字符集合]’匹配不在指定集合中的任何字符(只要有一个满足条件就返回)
子主题
使用{M}或者{M,N}来指定字符串连续出现的次数
字符串{n,}表示至少匹配n次前面的字符串
字符串{n,m}表示匹配前面的字符串不少于n次,不多于m次
0 条评论
下一页