第一部分: 通配符筛选
1.1 LIKE 与 %
LIKE: LIKE是谓词
“谓词 操作符何时不是操作符?答案是在它作为谓词(predicate)时。从技术上说,LIKE是谓词而不是操作符。虽然最终的结果是相同的,但应该对此术语有所了解,以免在SQL文档中遇到此术语时不知道。”
摘录来自: 福塔 (Ben Forta). “MySQL必知必会”。 iBooks.
%: %表示任何字符出现任意次数;
实例代码:
MariaDB [study_db]> SELECT * FROM books WHERE book_name LIKE '经济%';
+---------+-----------------+------------------+------------------+-------------+----------+------+
| book_id | book_name | book_author_name | publication_date | description | classify | c |
+---------+-----------------+------------------+------------------+-------------+----------+------+
| 15 | 经济学原理 | NULL | 2003-08-01 | NULL | 6 | NULL |
| 18 | 经济学常识 | NULL | 2015-08-01 | NULL | 6 | NULL |
+---------+-----------------+------------------+------------------+-------------+----------+------+
2 rows in set (0.00 sec)
1.2 LIKE 与 _
下划线{_}的用途与%一样,但下划线只匹配单个字符而不是多个字符.
第二部分 计算和别名
2.1 计算字段
之前我们的操作都是直接筛选,那么计算字段考虑到了其他的可能,比如
1. 选择特定的单词或数值;
2. 对单个或多个列进行计算;
3. 把列和直接量组合在一起.
2.2 直接量
MariaDB [study_db]> SELECT 'BOOK_NAME: ', book_name FROM books;
+-------------+------------------+
| BOOK_NAME: | book_name |
+-------------+------------------+
| BOOK_NAME: | 跟我学MariaDB |
| BOOK_NAME: | 跟我学NodeJS |
| BOOK_NAME: | HTTP权威指南 |
2.3 算术运算
列直接的操作: + - * /
等;直接上例子,两个列相乘,
MariaDB [study_db]> SELECT classify, book_price, 'result: ', classify * book_price from books;
+----------+------------+----------+-----------------------+
| classify | book_price | result: | classify * book_price |
+----------+------------+----------+-----------------------+
| 18 | 44.00 | result: | 792 |
| 18 | 44.44 | result: | 799.92 |
| 18 | 79.00 | result: | 1422 |
| 9 | 26.00 | result: | 234 |
2.4 连接字段
连接(CONCAT)就是将不同的列组合在一起;
MariaDB [study_db]> SELECT book_author_name, book_name, 'RESULT:', CONCAT(book_author_name,'出的📚 是: ', book_name) FROM books;
+------------------+------------------+---------+-----------------------------------------------------------+
| book_author_name | book_name | RESULT: | CONCAT(book_author_name,'出的📚 是: ', book_name) |
+------------------+------------------+---------+-----------------------------------------------------------+
| hhw | 跟我学MariaDB | RESULT: | hhw出的📚 是: 跟我学MariaDB |
| hhw | 跟我学NodeJS | RESULT: | hhw出的📚 是: 跟我学NodeJS |
| O'Reilly | HTTP权威指南 | RESULT: | O'Reilly出的📚 是: HTTP权威指南 |
2.5 列/表的别名--AS
AS关键词, 将旧列以新列名显示;
MariaDB [study_db]> SELECT book_id , book_id AS 'id' FROM books;
+---------+----+
| book_id | id |
+---------+----+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
第三部分 更新/删除数据
3.1 更新数据---UPDATE
更新(修改)表中的数据,可以使用UPDATE 语句
。有两种使用UPDATE 的方式:
更新表中的特定行;
更新表中的所有行。
警告:不要省略WHERE 子句
在客户端/服务器的DBMS中,使用UPDATE 语句可能需要特殊的安全权限。在你使用UPDATE 前,应该保证自己有足够的安全权限。”
SET 命令用来将新值赋给被更新的列.
MariaDB [study_db]> UPDATE books
-> SET book_author_name = '余华', book_price = 45
-> WHERE book_id = 7;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
3.2 删除数据 --- DELETE
从一个表中删除(去掉)数据,使用DELETE 语句。有两种使用DELETE 的方式:
从表中删除特定的行;
从表中删除所有行。
警告:不要省略 WHERE 子句
MariaDB [study_db]> DELETE FROM books
-> WHERE book_id = 22;
更多精彩内容请关注“IT实战联盟”哦~~~
IT实战联盟.jpg