
對數(shù)據(jù)庫進行操作
我們可以對數(shù)據(jù)庫進行四種方式的操作:添加、刪除、修改和查詢(搜索)。請大家注意的是,SQL語言和其它編程語言一樣,對命令語句的語法格式很在意,比如一個括號、逗號或分號的錯誤都會導致命令無法執(zhí)行。所以一定要熟悉語法格式。
插入記錄
這里我們繼續(xù)使用前面創(chuàng)建過的數(shù)據(jù)庫作為例子:
--------------------------------------------------------------------------------
mysql> CREATE TABLE test (
> name VARCHAR (15),
> email VARCHAR (25),
> phone_number INT,
> ID INT NOT NULL AUTO_INCREMENT,
> PRIMARY KEY (ID));
--------------------------------------------------------------------------------
使用INSERT命令插入數(shù)據(jù),將數(shù)據(jù)分別插入姓名、郵件地址、電話和ID號內。
--------------------------------------------------------------------------------
mysql> INSERT INTO test VALUES
mysql> ('Bugs Bunny', 'carrots@devshed.com',
mysql> 5554321, NULL);
--------------------------------------------------------------------------------
結果:
--------------------------------------------------------------------------------
Query OK, 1 row affected (0.02 sec)
mysql>
--------------------------------------------------------------------------------
數(shù)據(jù)類型VARCHAR的內容必須要用單引號,所有的字符串類型數(shù)據(jù)(char, varchar, text, blob)都必須使用單引號,否則會出錯誤信息。
電話號碼的內容不用單引號。整數(shù)INT類型的數(shù)據(jù)都不用單引號。
NULL空值。為什么要在ID中插入空值? 實際上該數(shù)據(jù)類型使用了AUTO_INCREMENT選項,在插入空值時數(shù)據(jù)庫會自動將ID的值加1。比如后一個記錄的ID值是2,那么再插入一個記錄時,新記錄的ID值就是3。如果將空值插入TIMESTAMP類型的記錄時,那么新記錄的TIMESTAMP值就是當前的時間。
注意: 每次插入新記錄時必須保證新記錄的值的個數(shù)與數(shù)據(jù)類型的數(shù)目一致。上面的命令中如果只有一個值,插入命令就會出錯。
例如:
--------------------------------------------------------------------------------
mysql> insert into test values('doggy');
ERROR 1058: Column count doesn't match value count
mysql>
對數(shù)據(jù)庫進行操作
選取內容如果不能從一個數(shù)據(jù)庫搜索和提取信息,那么這個數(shù)據(jù)庫就沒有什么用處。 在MySql里,這一功能是通過SELECT命令來實現(xiàn)。 mysql> SELECT * FROM test mysql> WHERE (name = "Bugs Bunny");結果: name email phone_number ID
Bugs Bunny carrots@devshed.com 5554321 1
假設我們已經(jīng)插入了多個不同的記錄,所有記錄都有相同的姓名,但有不同的郵件地址和電話號碼。那么表test的內容顯示如下:name email phone_number ID
Bugs Bunny carrots@devshed.com 5554321 1
Bugs Bunny peppers@devshed.com 5554331 2
Bugs Bunny lettuce@devshed.com 5554341 3
Bugs Bunny celery@devshed.com 5554351 4
刪除 我們如果想將表中的某些記錄刪除,可以使用DELETE命令: mysql> DELETE FROM test mysql> WHERE (name = "Bugs Bunny");結果:test表中所有包含"Bugs Bunny"字段的記錄會被刪除。例如: mysql> DELETE FROM test mysql> WHERE (phone_number = 5554321);結果: name email phone_number ID
Bugs Bunny peppers@devshed.com 5554331 2
Bugs Bunny lettuce@devshed.com 5554341 3
Bugs Bunny celery@devshed.com 5554351 4
修改 MySQL也提供對表中的數(shù)據(jù)進行修改的功能,該操作可以用UPDATE命令完成。 mysql> UPDATE test SET name = 'Daffy Duck' mysql> WHERE name = "Bugs Bunny";name email phone_number ID
Lippy lippys@bigwinner.net 5554331 2
Lee lee@bigwinner.net 5554341 3
Fish fish@bigwinner.net 5554351 4
上面我們講過了對MySQL數(shù)據(jù)庫中的數(shù)據(jù)進行基本的插入、刪除、修改和查詢功能。下面將結合實際數(shù)據(jù)庫操作的應用,詳細講講這些命令的具體使用方法。