MySQL學習之路_增刪改查

在前面兩篇博客已經說過數據庫表相關的MySQL語句,點擊MySQL學習之路-創建、使用庫相關MySQL學習之路_數據的組織方式-表傳送過去查看。

插入

在表結構創建好之後,下一步就是往裏面裝數據了,往表裏面裝數據使用INSERT INTO語句完成。

INSERT INTO 表名 (字段) VALUES (值);

示例代碼:

-- 創建一個數據庫
CREATE DATABASE db_tb1;
-- 使用剛剛創建的數據庫
USE DATABASE example;
-- 在當前數據庫下創建表,確定表的字段
-- 把id字段設置爲主鍵和自動增加
CREATE TABLE example
  (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(10) NOT NULL,
  submission_date DATE NOT NULL);
-- 往表插入數據
INSERT INTO example (name, submission_date) VALUES ("張三", NOW());
INSERT INTO example (name, submission_date) VALUES ('李四', "2016-11-10 9:55:56");

上述示例代碼都有註釋,很容易懂,就不多解釋。
字段id設置爲AUTO_INCREMENT的意思是,每插入一個數據,它的值就自動往上遞增。
在插入數據裏,插入列”’submission_date”’的是NOW()''',這是一個函數,代表當前時間,後一條插入語句的是一個代表日期的字符串,插入後,會被解析爲'''DATE'''類型。 值得注意的是插入的值必須和寫出的字段屬性順序一致,否則會發生錯誤,譬如INSERT INTO example (name, submission_date) VALUES (“張三”, NOW());,插入時不能這樣
INSERT INTO example (name, submission_date) VALUES (NOW(), ‘張三’),這樣是錯的。
插入數據時,如果只插入了部分列數據,有部分沒有指定,沒有指定的列又不是
AUTO_INCREMENT ,那麼它的值就是NULL“`。

查詢行

在完成數據的插入後,還要查看數據是否已經插入,可以使用SELECT語句。

SELECT 列名 FROM 表名;

示例代碼

SELECT name, submission_date FORM example;

上述示例代碼查詢表example兩個字段namesubmission_date的數據,如果要查詢全部的數據,那麼把列名改爲‘*’這個通配符,即可查詢全部數據。

SELECT * FROM example;

也可以查詢多張表的數據,多張表使用逗號隔開可以了。

修改數據

修改數據使用UPDATE語句。

UPDATE 表名 SET 修改列的值 WHERE 列的值;

SET語句指定要修改的列的值,WHERE限定要修改的列。

UPDATE example SET name='張思' WHERE id=1;

上面語句意思就是把表example字段id=1的行的name字段值設置爲張思。如果沒有WHERE字句,那麼語句SET 後面列的所有的值都會被改爲設置的值。
需要走注意的是,UPDATE語句只能更改數據,要更改列屬性,譬如列名,列的數據類型等,請使用ALTER TABLE語句

刪除行(記錄)

在表中刪除數據時,使用DELETE語句。

DELETE FROM 表名 WHERE 指定列值

示例代碼:

DELETE FROM example WHERE name='張思';

刪除examplename 字段爲張思的記錄,同樣的,如果沒有指定WHERE 子句,那麼會刪除表中所有記錄。需要注意的是,DELETE語句只能刪除表記錄,不能刪除表,刪除表請用ALTER TABLE DROP 表名 語句

在刪除一個表中所有記錄時,除了可以使用不帶WHERE 子句的DELETE語句,還可以使用TRUNCATE 語句。

TRUNCATE TABLE 表名;

上述語句刪除指定表的所有記錄。
TRUNCATEDELETE 的區別就是DELETE 語句在刪除記錄時,是一條一條的刪除,而TRUNCATE 就比較粗暴,直接把整個表摧毀,再重建表結構來達到目的。這樣做有什麼好處呢?我覺得好處是顯而易見的——關乎性能。如果一個數據庫表內有上千萬條記錄,DELETETRUNCATE中,很明顯選擇後者,前者要逐條逐條去刪除,而後者,直接摧毀表,在重建表結構,OK!完了,就這麼簡單。所以,刪除整個表的時候,一般選擇TRUNCATE

由於我自己也剛學,所以這裏就只做個簡單的介紹,但是,也難免有疏漏或者不嚴謹的地方,如有錯誤,敬請指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章