1、创建表之前检查一遍索引的信息
SET FOREIGN_KEY_CHECKS=0;
drop table if exists '表的名字';
ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、获取数据库的信息(包含MySql与自己创建数据库的信息)
show DATABASES;
3、获取一个数据库中的表的信息
show TABLES;
4、查看某个表的列的信息
show COLUMNS from admin;
或者
desc admin;
5、显示数据库的状态的信息
show STATUS;
6、显示创建数据库的信息
show CREATE DATABASE;
7、显示赋给普通用户的信息
show GRANTS;
8、用于显示错误与警告的信息
show ERRORS;
show WARNINGS;
9、返回不重复的信息的行数
SELECT DISTINCT id from admin;
10、链接checkword数据库
use checkword;
11、关键字DISTINCT的使用
SELECT DISTINCT adminId from admin;
12、关键字LIMIT的使用
SELECT * from admin LIMIT 5;
SELECT * from admin LIMIT 0,3;
13、OFFSET的使用
SELECT * from admin LIMIT 3 OFFSET 5;
14、Order by 支持多个排序
SELECT * from admin order by adminId ,adminName desc;
15、获取最值的方式,最简单的(最小值/最大值)
SELECT adminId from admin ORDER BY adminId asc/ ASC LIMIT 1;
16、MySql中Where的常用符号
= <> != > < <= => between and
17、空值检索
SELECT * from admin where adminId is null; -- 是空的数据
SELECT * FROM admin where adminId is not null; --不是空的数据
18、and的使用
SELECT * from admin where adminId BETWEEN 1 and 100 and ...
19、匹配任意一行的数据的信息
SELECT * from admin where adminId =1 or adminId =2 or...
20、NOT关键字否定后面的所有的条件
SELECT * from admin where adminId not in (1,3 );
21、其他的关键字(比较耗时,不建议使用)
%匹配多个的数据
_匹配单个的信息
22、正则表达式的使用
like关键字的代替品regexp
SELECT * from admin where amdinId like '%%'; -- bijiaom
SELECT * form admin where adminId rehexp '.'; --效果会很快
23、REGEXP关键字的使用
SELECT * from admin where adminID REGEXP '100|200...'; --匹配100或者200...的数据
SELECT * from admin where adminId REGEXP '[123...]admin'; -- 匹配与1admin,2admin,3admin...匹配的数据
SELECT * from admin where adminId REGEXP '[1|2|3...]admin'; -- 匹配与1admin,2admin,3admin...匹配的数据
SELECT * form admin where adminId REGEXP '[0-9]admin'; --匹配0-9admin的信息
SELECT * from admin where adminId REGEXP '[a-z]{'
空白元字符:
\\f----\\n-----\\r----\\t-----\\v
REGEX匹配的字符类:
["alnum"]==[a-zA-Z0-9]
["alpha"]==[a-zA-Z]
["blank"]==[\\\t]
["cntrl"]==ASCII[0到37到127]
["digit"]==[0-9]
["graph"]==与["print"]相同但不包含空格
["lower"]==[a-z]
["print"]==任意可打印字符
["punct"]==既不在["alnum"]又不在["cntrl"]的范围内
["space"]==包含在内的任意的空格
["upper"]==[A-Z]
["xdigit"]==[a-fA-F0-9]
REGEX匹配的重复元字符:
*:0个或者多个匹配
+:1个或者多个匹配,相当于{1,}
?:0个或者一个匹配,相当于{0,1}
{n}:指定书目的匹配数
{n,}:匹配不少于n的书目
{n,m}匹配从n到m的范围,但m不包含m
REGEX匹配的定位元字符:
^:文本的开始
$:文本的结束
[[:<:]]:词的开始
[[:>:]]:词的结束
匹配前面是[0-9]stick或者是sticks的信息
SELECT * from admin where adminId REGEXP '//([0-9]sticks?//)';
匹配任意四位数的信息
SELECT * from admin where adminId REGEXP '[0-9]{4}';
OR
SELECT * from admin where adminId REGEXP '[["digit"]]{4}';
总结LIKE与REGEXP的区别:
LIKE只能匹配整个串,而REGEXP匹配的是子串
使用与任意的数据库:
SELECT 'deee' REGEXP '[0-9]';
24、MySql常用的处理的函数
Letf() ----返回串左边的字符
LENGTH()----返回串的长度
LOCATE(substr,str)----找出串的第一个字符
LOWER(str)--将串转换为大写
LTRIM(str)--去除左边的括号
RIGHT(str,len)---返回串右侧的信息
RTRIM(str)----去除右侧的空格
SOUNDEX(str)----返回串的SOUNDEX值
SUBSTR(str FROM pos FOR len)----返回子串的字符
UPPER(str)----将子串转换为大写
25、日常的日期与时间的函数
ADDDATE(expr,days)----增加一个日期
ADDTIME(expr1,expr2)----增加一个时间
CURDATE()----获取当前的时间
DATE(expr)----返回当前时间的日期色部分
DATEDIFF(expr1,expr2)----计算两个日期的之差
DATE_ADD(date,INTERVAL expr unit)----高度灵活的日期的运算函数
DATE_FORMAT(date,format)----返回一个格式化的日期或者时间串
DAY----返回日期的天数的部分
DAYOFMONTH(date)----返回某月的天的部分
HOUR----返回时间的小时的部分
MINUTE----返回分钟的部分
MONTH---返回月份的信息
NOW()----d返回现在的日期
SECOND----返回时间的秒的部分
TIME(expr)----返回日期的时间的部分
`YEAR`(date)----返回日期的年份的部分
26、MySql字句的执行顺序
select------>FROM-------->where-------------->GROUP BY--------->HAVING ------------>ORDER BY--------->LIMIT
27、MySql常用的搜索引擎
MyISqm:支持全中文搜索功能
INNODB:不支持全中文的搜索
InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎
MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力
28、在MyISAM中执行全文搜索的实例:
SELECT * from admin where MATCH(adminId) AGAINST('搜索的信息内容');
29、MySql默认的搜索的MyISam
30、重命名语句
rename table admin to adminTemp
31、查看MySql支持的字符集
SHOW CHARACTER SET;
32、查看当前MySql当前的进程
show PROCESSLIST;
可用kill进行结束某个线程
33、查看MySql的配置的信息
show VARIABLES;
show STATUS;
34、union 优化数据
35、like可用fullText关键字代替
36、显示当前数据库表的信息
SHOW TABLE STATUS;
37、显示用户登录的信息
show processlist;
38、关键字SUBSTRING的使用
select SUBSTRING( ' 字符串 ' , [ ] );
39、显示版本的信息
SELECT VERSION();
40、