注:本系列学习笔记摘自MySQL必知必会,若侵权即删
Mysql的安装:
https://www.mysql.com/
于官网下载对应版本号按照英文指示安装即可
Mysql登录
- -u 用户名
- -h 服务器IP地址,端口号
- -p 用户密码
- cls 清屏
- exit 退出
以本地服务器为例子,首先命令行进入MySQL相应目录,或使用MySQL command line。
运行命令行 mysql -h 127.0.0.1 -u root -p 即使用root用户(拥有最高权限)登录本地主机
MySQL数据检索
(SQL语句使用分号;或\g结束、输入quit或exit退出命令行应用程序、不区分大小写)
1、常用SHOW语句
- SHOW DATABASES; (展示所有数据库)
- SHOW TABLES; (展示当前使用数据库内的所有表)
- SHOW COLUMNS FROM MYTABLE; (展示MYTABLE中的所有列)
- SHOW STATUS; (显示服务器状态)
- SHOW GRANTS; (显示授予用户的安全权限)
2、常用SELECT语句
1.检索单列:
SELECT column_name
FROM mytable;
2.检索多列:
SELECT column_name1, column_name2, column_name3
FROM mytable;
3.检索全列(使用通配符*):
SELECT *
FROM mytable;
4.检索去重复值列(即excel里的筛选、添加DISTINCT关键字)
SELECT DISTINCT *
FROM mytable;
5.检索指定行数列(使用LIMIT关键字,通常置于语句最后)
LIMIT 5 指定前5行
SELECT DISTINCT *
FROM mytable
LIMIT 5;
LIMIT 5, 5 指定从行5开始的5行,第一行为行0
SELECT DISTINCT *
FROM mytable
LIMIT 5, 5;
3、数据排序
1.按单列升序
SELECT column_name
FROM mytable
ORDER BY column_name
2.按多列升序(若第一列值相同,则对比第二列,以此类推)
SELECT column_name1, column_name2, column_name3
FROM mytable
ORDER BY column_name1, column_name2
3.指定某列或多列降序(使用DESC关键字,需再每列后添加)
SELECT column_name1, column_name2, column_name3
FROM mytable
ORDER BY column_name1 DESC, column_name2 DESC
4、条件检索(WHERE语句)
WHERE常用操作符:
=、<>、!=、<、<=、>、>=、BETWEEN
WHERE常用组合操作符:
AND、OR、IN
例子:
SELECT column_name1, column_name2, column_name3
FROM mytable
ORDER BY column_name1=‘lala’;
对于数值范围条件(使用BETWEEN语句):
SELECT column_name1, column_name2, column_name3
FROM mytable
WHERE column_name1 BETWEEN 5 AND 10;
对于指定某些值的范围条件(使用IN语句或NOT IN语句):
SELECT column_name1, column_name2, column_name3
FROM mytable
WHERE column_name1 IN (1000, 1001);
空值检索(IS NULL 与 IS NOT NULL)
SELECT column_name1, column_name2, column_name3
FROM mytable
WHERE column_name1 IS NULL;
WHERE搭配LIKE语句,使用通配符检索
常用通配符与注意事项
- %通配符表示任意字符出现任意次数
- _通配符表示匹配任意字符出现一次
- 注:搜索模式中会区分大小写
- 例子:(匹配column_name1中的值为lala*****的三个列)
SELECT column_name1, column_name2, column_name3
FROM mytable
WHERE column_name1 LIKE ‘lala%’;
WHERE搭配REGEXP语句,使用正则表达式进行检索
常用MySQL正则表达式
- OR(|)语句:例子:WHERE column_name1 REGEXP '1000|2000’
- 匹配多个字符之一:例子:WHERE column_name1 REGEXP ‘[123] lala’ 表示匹配[]中的其中一个字符
- 范围字符匹配:例子:WHERE column_name1 REGEXP ‘[1-5]’ 同理[a-z]
- 匹配特殊字符,使用\进行前缀修饰:例子:WHERE column_name1 REGEXP ‘\\lala’ 匹配反斜杠本身
- 常用字符类(通常可使用组合凑出,而不需要记下)
- 常用重复元字符(要求前面的字符出现指定次数)
- 定位符(匹配位置)