MySQL必知必会学习笔记(一)

第3章 使用MySQL

3.1 连接

3.2 选择数据库

use 数据库名
选择一个数据库

3.3 了解数据库和表

SHOW DATABASES;返回可用数据库的一个列表。
SHOW TABLES;返回当前选择数据库内可用表的列表。
SHOW COLUMNS FROM customers;给出一个表名,他对每个字段返回一行,行中包含字段名、数据类型、是否允许NULL、键信息以及其他信息。
SHOW STATUS;显示广泛的服务器状态信息。
SHOW CREATE DATABASE和SHOW CREATE TABLE;分别用来显示创建特定数据库或表的MySQL语句。

第4章 检索数据

4.1 SELECT语句

使用SELECT语句,必须至少给出两条信息——想选择什么,以及从什么地方选择。

4.2 检索单个列

SELECT prob_name
FROM product;

注:没有明确排序查询结果,返回数据的顺序没有特殊意义;多条SQL语句必须以分号分割;SQL语句不区分大小写,许多SQL开发人员喜欢对所有SQL官架子使用大写,而对所有列和表使用小写。

4.3 检索多个列

SELECT prob_id, prob_name, prob_price
FROM products;

注:SQL语句一般返回原始的、无格式的数据。

4.4 检索所有列
使用通配符*

SELECT *
FROM products;

**注:**使用通配符的一大优点是能检索出名字未知的列。

4.5 检索不同的行
DISTINCT关键字:此关键字指示MySQL只返回不同的值。

SELECT DISTINCT vend_id
FROM products;

**注:**不能部分使用DISTINCT。

4.6 限制结果
LIMIT子句:返回第一行或前几行

SELECT prob_name
FROM products;
LIMIT 5;  -- 返回不多于5行
LIMIT 5,5;  -- 返回从行5开始的5行,第一个数字为开始位置,第二个数字为要检索的行数。

注:检索出来的第一行为行0而不是行1;当行数不够时,返回它能够返回的行数。

4.7 使用完全限定的表名

SELECT products.prob_name
FROM crashcourse.products;

第5章 排序索引数据

5.1 排序数据
ORDER BY 一个列或多个列的名字,据此对输出进行排序。

SELECT prob_name
FROM product
ORDER BY prob_name;  -- prob_name列以字母顺序排序

注:可以使用非检索列进行排序

5.2 按多个列排序

SELECT prob_name
FROM product
ORDER BY prob_price, prob_name;  -- prob_name列以字母顺序排序

注:仅在多个行具有相同的prob_price时才对产品按照prob_name进行排序

5.3 制定排序方向
默认进行升序排序,为了进行降序排序,必须制定DESC关键字。

SELECT prob_name
FROM product
ORDER BY prob_name DESC, prob_name;  -- 按照产品价格降序对产品排列,再对产品名进行排序。

采用ORDER BY和LIMIT的组合,能够找出一个列中最高或最低的值。

SELECT prob_price
FROM products
ORDER BY prob_price DESC
LIMIT 1;  -- 找出最昂贵的产品

注:应保证ORDER BY子句位于FROM子句之后,LIMIT子句必须位于ORDER BY之后。

第6章 过滤数据

6.1 使用WHERE子句
搜索条件也被成为过滤条件

SELECT prob_name, prob_price
FROM product
WHERE prob_price = 2.50; 

6.2 WHERE子句操作符
包含的操作符有= <> != < <= > >= BETWEEN
检查单个值:= < <=
不匹配检查:<> !=
范围值检查:BETWEEN
空值检查:IS NULL

第7章 数据过滤

7.1 组合WHERE子句

  • AND操作符:附加条件
  • OR操作符:匹配任一条件。AND操作符的优先级高于OR操作符,()的优先级高于AND,应使用()明确分组操作符,以消除歧义。
  • IN操作符:IN (p1, p2),与OR操作符功能相似;IN操作符的执行速度更快;IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。
  • NOT操作符:NOT WHERE子句用来否定后跟条件的关键词。
SELECT prob_name, prob_price
FROM products
WHERE vend_id NOT IN (1002, 1003)
ORDER BY prob_name;

第8章 用通配符进行过滤

8.1 LIKE操作符
通配符:用来匹配值得一部分的特殊字符。
搜索模式:由字符、通配符或两者组成构成的搜索条件。

  • 百分号(%)通配符:%表示任何字符出现任意次数,包括0个字符。
SELECT prob_name
FROM product
WHERE prob_name LIKE 's%e';
  • 下划线(_)通配符:下划线只匹配单个字符而不是多个字符。
SELECT prob_id, prob_name
FROM products
WHERE prob_name LIKE '_ton anvi1';

注:通配符的处理一般所花时间较长。不要过度使用匹配符;在确定需要时使用通配符;仔细主义通配符的位置。

第9章 用正则表达式进行搜索

9.1 正则表达式介绍

9.2 使用MySQL正则表达式

  • REGEXP基本字符匹配:与LIKE相似,但是LIKE进行完全匹配。如果要像LIKE一样匹配整个列值,可以使用^和$定位符。
  • (.):表示匹配任意一个字符。
  • BINARY关键字:如果要区分大小写,可以使用BINARY,如WHERE prob_name REGEXP BINARY ‘JetPack .000’。
  • OR:搜索两个字符串之一。如WHERE prob_name REGEXP ‘1000|2000’。
  • 匹配几个字符之一:使用正则表达式[123] 表示匹配1或2或3。
    注:[^123]表示匹配除这些字符外的任何东西。
  • 匹配范围:[1-3]、[a-z]
  • 匹配特殊字符:使用\为前导来匹配特殊字符,\.才能匹配(.)
  • 匹配字符类:预定义的字符集成为字符类(character class)
    在这里插入图片描述
  • 匹配多个实例
    在这里插入图片描述
  • 定位符
    在这里插入图片描述
    注:^有两种用法,一种是在集合中否定该集合,第二种用来指串的开始处。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值