您好,登錄后才能下訂單哦!
下文主要給大家帶來MYSQL數據庫插入數據的基本操作,希望這些內容能夠帶給大家實際用處,這也是我編輯MYSQL數據庫插入數據的基本操作這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
在建立一個空的數據庫和數據表時,首先需要考慮的是如何向數據表中添加數據,該操作可以使用INSERT語句來完成。使用INSERT語句可以向一個已有數據表插一個新行,也就插入一行新記錄。
在MySQL中,INSERT語句有3種語法格式,分別是INSERT... VALUES語句、INSERT... SET語句和INSERT... SELECT語句。
使用INSERT... VALUES語句插入數據,是INSERT語句的最常用的語法格式。
語法格式如下:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] 數據表名 [(字段名,...)]
VALUES ({值 | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE 字段名=表達式, ... ]
create database test; #創建庫
use test; #進入庫
create table info (id int not null,name char(16),score decimal(5,2),age int(8)); #創建表
插入測試數據
insert into info (id,name,score,age)values(1,'san',88,33);
insert into info (id,name,score,age)values(2,'lisi',48,31);
insert into info (id,name,score,age)values(3,'wwu',68,27);
insert into info (id,name,score,age)values(4,'pw',98,25);
insert into info (id,name,score,age)values(5,'wlk',19,37);
insert into info (id,name,score,age)values(3,'lihua',58,23);
SELECT * FROM info;
在MySQL中,除了使用INSERT... VALUES語句可以插入數據外,還可以使用INSERT... SET語句插入數據。這種語法格式用于通過直接給表中的某些字段指定對應的值來實現插入指定數據,對于未指定值的字段將采用默認值進行添加。
INSERT... SET語句的語法格式如下:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] 數據表名
SET 字段名={值 | DEFAULT}, ...
[ ON DUPLICATE KEY UPDATE 字段名=表達式, ... ]
insert into info SET id =8, name='xiaohong',score=88,age=56;
SELECT * FROM info;
在MySQL中,支持將查詢結果插入到指定的數據表中,這可以通過>INSERT...SELECT語句來實現。
語法如下:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] 數據表名 [(字段名,...)]
SELECT ...
[ ON DUPLICATE KEY UPDATE 字段名=表達式, ... ]
insert into info(id,name,score,age)SELECT * from info where id=4;
SELECT * FROM info;
要執行修改的操作可以使用UPDATE語句,
語法如下:
UPDATE [LOW_PRIORITY] [IGNORE] 數據表名
SET 字段1=值1 [, 字段2=值2 ...]
[WHERE 條件表達式]
[ORDER BY ...]
[LIMIT 行數]
UPDATE info set score=77 where age <=30;
SELECT * FROM info;
在數據庫中,有些數據已經失去意義或者錯誤時就需要將它們刪除,在MySQL中,可以使用DELETE語句或者TRUNCATE TABLE語句刪除表中的一行或多行數據.
通過DELETE語句刪除數據的基本語法格式如下:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM 數據表名
[WHERE 條件表達式]
[ORDER BY ...]
[LIMIT 行數]
DELETE FROM info;
DELETE from info WHERE id=4;
SELECT * FROM info;
在刪除數據時,如果要從表中刪除所有的行,那么不必使用通過TRUNCATE
TABLE語句刪除數據的基本語法格式如下:
TRUNCATE [TABLE] 數據表名
TRUNCATE table info;
1.drop (刪除表):刪除內容和定義,釋放空間。簡單來說就是把整個表去掉.以后要新增數據是不可能的,除非新增一個表。
drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger)索引(index);依賴于該表的存儲過程/函數將被保留,但其狀態會變為:invalid。
2.truncate (清空表中的數據):刪除內容、釋放空間但不刪除定義(保留表的數據結構)。與drop不同的是,只是清空表數據而已。
注意:truncate 不能刪除行數據,要刪就要把表清空。
3.delete (刪除表中的數據):delete 語句用于刪除表中的行。delete語句執行刪除的過程是每次從表中刪除一行,并且同時將該行的刪除操作作為事務記錄在日志中保存。以便進行進行回滾操作。truncate與不帶where的delete :只刪除數據,而不刪除表的結構(定義)
4.truncate table 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用delete如果要刪除表定義及其數據,請使用 drop table 語句。
5.對于由foreign key約束引用的表,不能使用truncate table ,而應使用不帶where子句的delete語句。由于truncate table 記錄在日志中,所以它不能激活觸發器。
6.執行速度,一般來說: drop> truncate > delete。
7.delete語句是數據庫操作語言(dml),這個操作會放到 rollback segement 中,事務提交之后才生效;如果有相應的 trigger,執行的時候將被觸發。
8.truncate、drop 是數據庫定義語言(ddl),操作立即生效,原數據不放到 rollback segment 中,不能回滾,操作不觸發 trigger對于以上關于MYSQL數據庫插入數據的基本操作,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。