18.5 管理表單及數(shù)據(jù)

2022-06-01 16:36 更新

接下來向mybook數(shù)據(jù)表單中插一條圖書信息。為此需要使用INSERT命令,并在命令中寫清表單名稱以及對應(yīng)的字段項(xiàng)。執(zhí)行該命令之后即可完成圖書寫入信息。下面我們使用該命令插入一條圖書信息,其中書名為linuxprobe,價(jià)格和頁數(shù)分別是60元和518頁。在命令執(zhí)行后也就意味著圖書信息已經(jīng)成功寫入到數(shù)據(jù)表單中,然后就可以查詢表單中的內(nèi)容了。我們在使用select命令查詢表單內(nèi)容時(shí),需要加上想要查詢的字段;如果想查看表單中的所有內(nèi)容,則可以使用星號(hào)(*)通配符來顯示:

    MariaDB [linuxprobe]> INSERT INTO mybook(name,price,pages) VALUES('linuxprobe','60', '518');
    Query OK, 1 row affected (0.00 sec)
    MariaDB [linuxprobe]> select * from mybook;
    +------------+-------+-------+
    | name       | price | pages |
    +------------+-------+-------+
    | linuxprobe |    60 |   518 |
    +------------+-------+-------+
    1 rows in set (0.01 sec)

對數(shù)據(jù)庫運(yùn)維人員來講,需要做好四門功課—增、刪、改、查。這意味著創(chuàng)建數(shù)據(jù)表單并在其中插入內(nèi)容僅僅是第一步,還需要掌握數(shù)據(jù)表單內(nèi)容的修改方法。例如,我們可以使用update命令將剛才插入的linuxprobe圖書信息的價(jià)格修改為55元,然后在使用select命令查看該圖書的名稱和定價(jià)信息。注意,因?yàn)檫@里只查看圖書的名稱和定價(jià),而不涉及頁碼,所以無須再用星號(hào)通配符來顯示所有內(nèi)容。

    MariaDB [linuxprobe]> UPDATE mybook SET price=55 ;
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    MariaDB [linuxprobe]> SELECT name,price FROM mybook;
    +------------+-------+
    | name       | price |
    +------------+-------+
    | linuxprobe |    55 |
    +------------+-------+
    1 row in set (0.00 sec)

我們還可以使用delete命令刪除某個(gè)數(shù)據(jù)表單中的內(nèi)容。下面我們使用delete命令刪除數(shù)據(jù)表單mybook中的所有內(nèi)容,然后再查看該表單中的內(nèi)容,可以發(fā)現(xiàn)該表單內(nèi)容為空了。

    MariaDB [linuxprobe]> DELETE FROM mybook;
    Query OK, 1 row affected (0.01 sec)
    MariaDB [linuxprobe]> SELECT * FROM mybook;
    Empty set (0.00 sec)

一般來講,數(shù)據(jù)表單中會(huì)存放成千上萬條數(shù)據(jù)信息。比如我們剛剛創(chuàng)建的用于保存圖書信息的mybook表單,隨著時(shí)間的推移,里面的圖書信息也會(huì)越來越多。在這樣的情況下,如果我們只想查看其價(jià)格大于某個(gè)數(shù)值的圖書時(shí),又該如何定義查詢語句呢?

下面先使用insert插入命令依次插入4條圖書信息:

    MariaDB [linuxprobe]> INSERT INTO mybook(name,price,pages) VALUES('linuxprobe1','30','518');
    Query OK, 1 row affected (0.05 sec)
    MariaDB [linuxprobe]> INSERT INTO mybook(name,price,pages) VALUES('linuxprobe2','50','518');
    Query OK, 1 row affected (0.05 sec)
    MariaDB [linuxprobe]> INSERT INTO mybook(name,price,pages) VALUES('linuxprobe3','80','518');
    Query OK, 1 row affected (0.01 sec)
    MariaDB [linuxprobe]> INSERT INTO mybook(name,price,pages) VALUES('linuxprobe4','100','518');
    Query OK, 1 row affected (0.00 sec)

要想讓查詢結(jié)果更加精準(zhǔn),就需要結(jié)合使用select與where命令了。其中,where命令是在數(shù)據(jù)庫中進(jìn)行匹配查詢的條件命令。通過設(shè)置查詢條件,就可以僅查找出符合該條件的數(shù)據(jù)。表18-3列出了where命令中常用的查詢參數(shù)以及作用。

表18-3 where命令中使用的參數(shù)以及作用

參數(shù) 作用
= 相等
<>或!= 不相等
> 大于
< 小于
>= 大于或等于
<= 小于或等于
BETWEEN 在某個(gè)范圍內(nèi)
LIKE 搜索一個(gè)例子
IN 在列中搜索多個(gè)值

現(xiàn)在進(jìn)入動(dòng)手環(huán)節(jié)。分別在mybook表單中查找出價(jià)格大于75元或價(jià)格不等于80元的圖書,其對應(yīng)的命令如下所示。在熟悉了這兩個(gè)查詢條件之后,大家可以自行嘗試精確查找圖書名為linuxprobe2的圖書信息。

    MariaDB [linuxprobe]> SELECT * FROM mybook WHERE price>75;
    +-------------+-------+-------+
    | name        | price | pages |
    +-------------+-------+-------+
    | linuxprobe3 |    80 |   518 |
    | linuxprobe4 |   100 |   518 |
    +-------------+-------+-------+
    2 rows in set (0.06 sec)
    MariaDB [linuxprobe]> SELECT * FROM mybook WHERE price!=80;
    +-------------+-------+-------+
    | name | price | pages        |
    +-------------+-------+-------+
    | linuxprobe1  | 30  | 518    |
    | linuxprobe2  | 50  | 518    |
    | linuxprobe4  | 100 | 518    |
    +-------------+-------+-------+
    3 rows in set (0.01 sec)
    MariaDB [mysql]> exit
    Bye
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)