搜索
您的当前位置:首页正文

MariaDB查询/计算和别名/更新/删除数据(七)

来源:二三娱乐
第一部分: 通配符筛选

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
Top