「这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战」。
一、数据库操作
1.显示数据库
1 | sql复制代码mysql> SHOW DATABASES; |
2.创建数据库
CREATE DATABASE 数据库名 CHARSET='编码格式'
1 | sql复制代码mysql> CREATE DATABASE create_test CHARSET = 'utf8'; |
3.使用数据库
1 | sql复制代码mysql> USE create_test; |
4.查看当前数据库
使用 SELECT DATABASE() 查看当前使用的数据库。
1 | sql复制代码mysql> SELECT DATABASE(); |
5.删除数据库
1 | sql复制代码mysql> DROP DATABASE create_test; |
二、表操作
创建表
代码格式:
1 | sql复制代码CREATE TABLE [IF NOT EXISTS] `表名` ( |
使用下面的语句创建示例中的 one_piece 表。
1 | sql复制代码mysql> CREATE TABLE one_piece |
注意:创建表时,指定的表名必须不存在,否则会出错。
更新表
1.添加列
在刚才创建的 one_piece 表中添加一列 bounty (赏金)。
1 | sql复制代码mysql> ALTER TABLE one_piece |
2.删除列
删除 bounty 列。
1 | sql复制代码mysql> ALTER TABLE one_piece |
查看表结构
1 | sql复制代码mysql> DESC one_piece; |
查看表详细信息
\G 后面不能加“ ; ”。
1 | sql复制代码mysql> SHOW TABLE STATUS LIKE 'one_piece' \G |
重命名表
两种方法:
ALTER TABLE 表名 RENAME [TO | AS] 新表名;RENAME TABLE 表名 TO 新表名;
用方法一将 Products 表更名为 new_Products ,再用方法二改回来。
1 | sql复制代码-- 方法一 |
删除表
DROP TABLE 表名
1 | sql复制代码mysql> DROP TABLE one_piece; |
注意:在该表与其他表有关联时,Mysql 会阻止该表的删除。
3. 查询
查询多列
同时输出 name, age 列。
1 | sql复制代码mysql> SELECT name, age |
检索唯一值
使用 DISTINCT 关键字,查询字段 age 的唯一值。
1 | sql复制代码mysql> SELECT DISTINCT age |
限制输出
在 Mysql 中使用 LIMIT 关键字限制输出的数据。LIMIT 有两种常见用法:
1 | sql复制代码SELECT * FROM table LIMIT [offset], rows -- LIMIT 单独使用 |
offset:行开始的行的索引。0表示从第1行 开始显示(包括第1行),以此类推。
rows:数据显示的条数。
示例:
1 | sql复制代码SELECT * FROM one_piece LIMIT 5; -- 检索前5条数据 |
注:如果表中数据不足,即LIMIT设定的数过大,则只会检索到最后一行。
注释
三种注释方式
1 | sql复制代码-- 单行注释 |
四、ORDER BY 排序
单列排序
使用 ORDER BY 子句。 ORDER BY 子句取一个或多个列的名字,据此对输出进行排序(默认升序)。
1 | sql复制代码mysql> SELECT name, age |
注意:在指定一条 ORDER BY 子句时,应该保证它是 SELECT 语句中最后一条子句。
多列排序
1 | sql复制代码mysql> SELECT A, B |
在按多列排序时,仅在多个行具有相同的 A 值时 才按 B 进行排序。如果 A 列中所有的值都是 唯一的,则不会按 B 排序。
指定排序方向
ORDER 默认升序(从A到Z)排序。指定 DESC 关键字进行降序(从Z到 A)排序。
1 | sql复制代码mysql> SELECT age |
多列指定排序方向时,要使用逗号分隔。
1 | sql复制代码mysql> SELECT name, age |
五、WHERE 过滤数据
WHERE 子句操作符
| 操作符 | 说明 | 操作符 | 说明 |
|---|---|---|---|
| = | 等于 | 大于 | |
| <>、!= | 不等于 | >= | 大于等于 |
| < | 小于 | !> | 不大于 |
| <= | 小于等于 | BETWEEN | 在两值之间(包含边界) |
| !< | 不小于 | IS NULL | 是NULL值 |
范围值检查
使用 WHERE 关键字和 BETWEEN AND 进行范围值检查(前闭后闭)。
1 | sql复制代码mysql> SELECT age |
查询 字段 age 中 >=5 并且 <= 10 的数据。
空值检查
使用 WHERE 关键字和 IS NULL 进行范围值检查。如果没有 NULL 值就不返回数据。
1 | sql复制代码mysql> SELECT name |
WHERE 组合过滤
使用 AND 、OR 操作符给 WHERE 子句添加附加条件。 AND 的优先级比 OR 要高,优先级高低 () 、 AND 、 OR。在使用的过程中要注意各个优先级的影响。
1 | sql复制代码mysql> SELECT name, age |
IN 操作符
IN 操作符用来指定条件范围,范围中的每个条件都可以进行匹配。(与 OR 的功能相同,但速度比 IN 慢)
1 | sql复制代码mysql> SELECT name, age |
NOT 操作符
WHERE 子句中的 NOT 操作符有且只有一个功能,那就是否定其后所跟的任何条件。
1 | sql复制代码mysql> SELECT name |
七、通配符过滤
通配符搜索只能用于文本字段(字符串),非文本数据类型字段不能使用 通配符搜索。
在使用通配符过滤之前要先了解 LIKE , LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式或取值。
% 通配符
% 表示任何字符出现任意次数。例如,为了找出所有以 路 开始的 name。
1 | sql复制代码mysql> SELECT name, age |
_ 通配符
通配符 _ 的用途与 % 一样也是匹配任意字符,但它只匹配单个字符,而不是多个字符。
1 | sql复制代码mysql> SELECT name, age |
这就是今天要分享的内容,微信搜 Python新视野,每天带你了解更多有用的知识。
本文转载自: 掘金