插入数据 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