插入,更新与删除数据
插入数据:
存储在系统中的数据库管理系统的核心,数据库被设计来管理数据的存储,访问和维护数据的完整性。
1.为所有字段插入数据
使用基本的INSERT 语句插入数据要求指定表名称和插入到新记录中的值。基本语法格式:
Insert 语句格式:
Insert into 表名 (字段列表…) values(值列表…)
或者
Insert into 表名 values(值列表….)
//在省略字段列表的情况下插入值的顺序必须和字段列表默认顺序相同
--创建表person
CREATE TABLE person
(
id INT UNSIGED NOT NULL AUTO_INCREMENT,
name CHAR(40) NOT NULL DEFAULT '',
age INT NOT NULL DEFAULT 0,
info CHAR(50) NULL,
PRIMARY KEY (id)
);
-- 插入SELECT语句查看表的数据
SELECT * FROM person;
--插入数据
INSERT INTO person(id,name,age,info) VALUES(1,'Green',21,'Lawyer');
-- 查看数据
SELECT * FROM person;
2.为表的指定字段插入数据
Insert 语句格式:
Insert into 表名 (指定字段列表…) values(值列表…)
INSERT INTO person (name,age,info)VALUES('Willam',20,'sport man');
--查看记录
SELECT * FROM person;
提示:
要保证每个插入值的类型和对应列的数据类型匹配,如果类型不同,将无法插入,并且MySQL会产生错误。没有指定info字段值,查询结果显示,info字段在定义时默认为NULL,因此系统自动为该字段插入空值。
3.同时插入多条记录
Insert 语句格式:
Insert into 表名 (指定字段列表…) values(值列表1…), (值列表1…), (值列表3…), (值列表4…), (值列表5…), (值列表6…), (值列表7…)
INSERT INTO person(name,age,info)VALUES('Evans',27,'secretary'),('Date',22,'cook'),('Edison',28,'singer');
SELECT * FROM person;
提示:
一个同时插入多行记录的INSERT语句等同于多个单行插入的INSERT语句,但是多行的INSERT语句在处理过程中效率更高。
4.将查询结果插入到表中
Insert 语句格式:
Insert into 新表名 (字段列表…) select (字段列表…) from 表名
--创建表
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,'Backham',31,'police');
-- 查看记录
SELECT * FROM person_old;
更新数据
在表中有了数据后接下来可以对数据进行更新操作。
Update 语句格式:
Update 表名 set 字段名1=新值,字段名2=新值,字段名n=新值
Where 条件判断
UPDATE person SET age=15,name='LiMing'WHERE id=11;
SELECT * FROM person WHERE id=11;
提示:
保证UPDATE以WHERE子句结束,通过WHERE子句指定被更新的记录所需要满足的条件,如果忽略WHERE子句,MySQL将更新表中所有的行。
SELECT * FROM person WHERE age BETWEEN 19 AND 22;
删除数据
从数据表中删除数据使用DELETE语句,允许使用WHERE子句指定删除条件,DELETE语句
delete 语句格式:
Delete from 表名 where 判断条件
//如果没有指定判断条件,删除表中所有记录
-- 查看语句
SELECT * FROM person WHERE id=10;
-- 删除记录
DELETE FROM person WHERE id=11;
-- 查看执行的语句
SELECT * FROM person WHERE id=11;