一、使用INSERT语句添加数据
1、向表中的全部字段添加值
示例:创建一个课程信息表:
CREATE TABLE course(
c_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c_name CHAR(40) NOT NULL,
c_grade FLOAT NOT NULL,
c_info CHAR(100) NULL,
);
向表中所有字段插入数据的方法有二种:
- 指定所有字段名。
- 完全不指定字段名。
示例:指定所有字段名,插入数据到course表
INSERT INTO course(c_id,c_name,c_grade,c_info) VALUES
(1,'Network',3,'Computer Network');
示例:不指定字段名,插入数据到course表
INSERT INTO course VALUES (2,'Java',4,'Java EE');
- 当INSERT语句中没有指定插入列表,只有一个值列表。在这种情况下,值列表为每一个字段列指定插入的值,但是这些值的顺序必须和course表中字段定义的顺序相同。
2、向表中指定字段添加值
为表的指定字段插入值,是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
INSERT INTO course(c_name,c_grade,c_info) VALUES
('Network',3,'Computer Network');
3、使用INERT INTO...SELECT... FROM 语句复制表数据
INERT INTO...SELECT...FROM语句用于快速的从一个或多个表中取出数据,并将这些数据作为行数据插入另一个表中,SELECT子句返回的是一个查询到的结果集,INSERT语句将这个结果集插入到指定表中,结果集中的每行数据的字段数、字段的数据都必须与被操作的表完全一致。
示例:创建一个与course表结构相同的数据表course_new
CREATE TABLE course_new(
c_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c_name CHAR(40) NOT NULL,
c_grade FLOAT NOT NULL,
c_info CHAR(100) NULL,
);
示例:将course表中查询所有数据行,并将其插入course_new表中
INSERT INTO course_new (c_id,c_name,c_grade,c_info)
SELECT c_id,c_name,c_grade,c_info FROM course;
二、使用UPDATE语句修改数据
1、修改表中的数据
示例:在course表中,更新所有行的c_grade字段值为4
UPDATE course SET c_grade=4;
2、根据条件修改表中的数据
示例:在course表中,更新c_id=2的数据,将c_grade的值修改为3.5,将c_name的值修改为'DB'
UPDATE course SET c_name='DB',c_grade=3.5 WHERE c_id=2;
- 如果忽略WHERE子句,将更新表中所有的行。
三、使用DELETE语句删除数据
1、删除单个表中的数据
DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
2、删除表中的全部数据
DELETE FROM <表名>
3、根据条件删除表中的数据
DELETE FROM <表名> WHERE <删除条件>