
對(duì)數(shù)據(jù)庫進(jìn)行操作
我們可以對(duì)數(shù)據(jù)庫進(jìn)行四種方式的操作:添加、刪除、修改和查詢(搜索)。請(qǐng)大家注意的是,SQL語言和其它編程語言一樣,對(duì)命令語句的語法格式很在意,比如一個(gè)括號(hào)、逗號(hào)或分號(hào)的錯(cuò)誤都會(huì)導(dǎo)致命令無法執(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號(hào)內(nèi)。
--------------------------------------------------------------------------------
mysql> INSERT INTO test VALUES
mysql> ('Bugs Bunny', 'carrots@devshed.com',
mysql> 5554321, NULL);
--------------------------------------------------------------------------------
結(jié)果:
--------------------------------------------------------------------------------
Query OK, 1 row affected (0.02 sec)
mysql>
--------------------------------------------------------------------------------
數(shù)據(jù)類型VARCHAR的內(nèi)容必須要用單引號(hào),所有的字符串類型數(shù)據(jù)(char, varchar, text, blob)都必須使用單引號(hào),否則會(huì)出錯(cuò)誤信息。
電話號(hào)碼的內(nèi)容不用單引號(hào)。整數(shù)INT類型的數(shù)據(jù)都不用單引號(hào)。
NULL空值。為什么要在ID中插入空值? 實(shí)際上該數(shù)據(jù)類型使用了AUTO_INCREMENT選項(xiàng),在插入空值時(shí)數(shù)據(jù)庫會(huì)自動(dòng)將ID的值加1。比如后一個(gè)記錄的ID值是2,那么再插入一個(gè)記錄時(shí),新記錄的ID值就是3。如果將空值插入TIMESTAMP類型的記錄時(shí),那么新記錄的TIMESTAMP值就是當(dāng)前的時(shí)間。
注意: 每次插入新記錄時(shí)必須保證新記錄的值的個(gè)數(shù)與數(shù)據(jù)類型的數(shù)目一致。上面的命令中如果只有一個(gè)值,插入命令就會(huì)出錯(cuò)。
例如:
--------------------------------------------------------------------------------
mysql> insert into test values('doggy');
ERROR 1058: Column count doesn't match value count
mysql>
對(duì)數(shù)據(jù)庫進(jìn)行操作
選取內(nèi)容如果不能從一個(gè)數(shù)據(jù)庫搜索和提取信息,那么這個(gè)數(shù)據(jù)庫就沒有什么用處。 在MySql里,這一功能是通過SELECT命令來實(shí)現(xiàn)。 mysql> SELECT * FROM test mysql> WHERE (name = "Bugs Bunny");結(jié)果: name email phone_number ID
Bugs Bunny carrots@devshed.com 5554321 1
假設(shè)我們已經(jīng)插入了多個(gè)不同的記錄,所有記錄都有相同的姓名,但有不同的郵件地址和電話號(hào)碼。那么表test的內(nèi)容顯示如下: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
刪除 我們?nèi)绻雽⒈碇械哪承┯涗泟h除,可以使用DELETE命令: mysql> DELETE FROM test mysql> WHERE (name = "Bugs Bunny");結(jié)果:test表中所有包含"Bugs Bunny"字段的記錄會(huì)被刪除。例如: mysql> DELETE FROM test mysql> WHERE (phone_number = 5554321);結(jié)果: 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也提供對(duì)表中的數(shù)據(jù)進(jìn)行修改的功能,該操作可以用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
上面我們講過了對(duì)MySQL數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行基本的插入、刪除、修改和查詢功能。下面將結(jié)合實(shí)際數(shù)據(jù)庫操作的應(yīng)用,詳細(xì)講講這些命令的具體使用方法。