MySQL DML

插入數據 INSERT

語法格式

insert into 表名 (column_list) values (value_list);

建表,用來插入數據測試

CREATE TABLE person
(
id     INT UNSIGNED NOT NULL AUTO_INCREMENT,
name   CHAR(40) NOT NULL DEFAULT '',
age    INT NOT NULL DEFAULT 0,
info   CHAR(50) NULL,
PRIMARY KEY (id)
);

向表中所有字段插入值的方法有兩種:一種是指定所有字段名,另一種是完全不指定字段名。

  • 在person表中,插入一條新記錄,id值爲1,name值爲Green,age值爲21,info值爲Lawyer,

INSERT INTO person (id ,name, age , info)
VALUES (1,‘Green’, 21, ‘Lawyer’);
在這裏插入圖片描述

  • 使用INSERT插入數據時,允許列名稱列表column_list爲空,此時,值列表中需要爲表的每一個字段指定值,並且值的順序必須和數據表中字段定義時的順序相同

INSERT INTO person
VALUES (3,‘Mary’, 24, ‘Musician’);

在這裏插入圖片描述

  • 在person表中,插入一條新記錄,name值爲laura,age值爲25

INSERT INTO person (name, age ) VALUES (‘Laura’, 25);

在這裏插入圖片描述

多條數據同時插入

  • 在person表中,在name、age和info字段指定插入值,同時插入3條新記錄,

INSERT INTO person(name, age, info)
VALUES (‘Evans’,27, ‘secretary’),
(‘Dale’,22, ‘cook’),
(‘Edison’,28, ‘singer’);

在這裏插入圖片描述

########## 將查詢結果insert 到 表中

從person_old表中查詢所有的記錄,並將其插入到person表中。
首先,創建一個名爲person_old的數據表,其表結構與person結構相同


CREATE TABLE person_old
(
id     INT UNSIGNED NOT NULL AUTO_INCREMENT,
name   CHAR(40) NOT NULL DEFAULT '',
age    INT NOT NULL DEFAULT 0,
info   CHAR(50) NULL,
PRIMARY KEY (id)
);

 INSERT INTO person_old
     VALUES (11,'Harry',20, 'student'), (12,'Beckham',31, 'police');

 SELECT * FROM person_old;
 INSERT INTO person(id, name, age, info)
SELECT id, name, age, info FROM person_old;

更新操作 UPDATE

語法格式

update 表名 set 列名 = 值 where 條件
若果你要修改多個字段的值
update 表名 set 列名1 = value1 , 列名2 = vlaue2 where 篩選條件
  • 在person表中,更新age值爲19~22的記錄,將info字段值都改爲student

UPDATE person SET info=‘student’ WHERE id BETWEEN 19 AND 22;

刪除數據

語法格式

delete from 表名 where 刪除數據的條件
如果沒有加 where 篩選條件
delete from 表名 將會把這張表的數據清空,但是不同於truncate
發佈了50 篇原創文章 · 獲贊 9 · 訪問量 3437
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章