MySQL-(3)

外连接  左连接以左表为主,右外连接以右表为主

外键

保证数据的一致性和完整性

删除外键:DROP TABLE *****;

CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行

SETNULL:从父表中删除或更新行,并设置子表中的外键列为NULL,

如果使用改选项,必须保证子表列没有指定NOTNULL

联合查询

SELECT username FROM employee UNION SELECT username FROM cms_user;

由[NOT]IN引发的子查询

SELECT id,username FROM employee WHERE depid INLSELECT id FROM department;

将查询结果写入到数据表

INSERT[INTO]tbl_name [(col_name,.....)]SELECT....

创建表同时将查询结果写入到数据表中

CREATE TABLE[IF NOT EXISTS]tbl_name[(create_detinition,....)]select_statement

正则表达式查询

REGEXP匹配方式

^:匹配字符开始部分

$:匹配结尾部分

.:代表任意字符

[字符集合]  [^字符集合]

*:代表0个或1个或多个其前字符

+:代表1个或多个其前字符

String{N}字符出现N次

运算符

算数  + - * /   DIV  除法     %MOD取余

比较:=   <   >   !=   <=>

逻辑:&& 或AND,||或OR,NOT 或!   ,XOR亦或

运算优先级:

数学函数 

CEIL() 取整进一;  FLOOR():舍一取整

MOD取余   POWER():幂运算

ROUND()四舍五入   TRUNCATE():数字截取

ABS():取绝对值    PI()圆周率

SIGN(X)返回X的符号 X为 负数,0,正数

EXP(X)计算e的X次方

时间函数

CURDATE() 当前日期

CURTIME()当前时间

NOW现在时间

DAYNAME周几

MD5(str) 信息摘要算法

PASSWORD(str)密码算法

索引的使用

由数据库中一列或者多列组合而成的,作用是提高对表中数据查询速度

优点:提高检索数据的速度

缺点:创建和维护索引要耗费时间

提高查询速度会减慢写入速度

索引分类

普通:

唯一:UNIQUE

全文:FULLTEXT

单列:

多列

空间:SPATIAL

创建表时创建索引:[UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY[索引名称](字段名称[ASC|DESC]);

已经存在的表加索引:

①CREATE[UNIQUE|FULLTEXT|SPATIAL] INDEX索引名称ON表名{字段名称[(长度)][ASC|DESC]};

②ALTER TABLE tbl_name ADD[UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名称(字段名称[(长度)][ASC|DESC]);

猜你喜欢

转载自blog.csdn.net/crazyhulu/article/details/86568688