目录
数据库用于管理数据的存储、访问和数据的完整性。其中是用 INSERT 语句插入数据,使用 UPDATE 语句更新数据,使用 DELTE 语句删除数据。本文详细介绍这些语句的使用方法和注意事项。
首先创建一个 adminuser 表:
CREATE TABLE `adminuser` (
`uId` int(30) NOT NULL AUTO_INCREMENT,// 主键id 自增
`userName` varchar(30) DEFAULT NULL, // 用户名 默认为 null
`password` varchar(30) DEFAULT NULL, // 密码 默认为null
PRIMARY KEY (`uId`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
1. 插入数据
1.1 为表的所有字段插入数据
INSERT INTO adminuser (uId,userName,password)
VALUES (1,"admin","123");
指定用户表的所有字段,并依次插入数据。字段位置和表中位置相对应。
INSERT INTO adminuser (uId,password,userName)
VALUES (2,"123","shui");
插入时字段顺序也可以不是表定义时的数据
INSERT INTO adminuser
VALUES (3,"123","shui");
表名后不带字段列表,表示按照默认字段顺序进行插入。此时 VALUES 关键字后的值的不仅要求完整且类型也需一一对应。
1.2 默认值与主键自增
INSERT INTO adminuser (uId,userName)
VALUES (2,"admin");
INSERT INTO adminuser (userName,password)
VALUES ("admin2","123456");
select * from adminuser;
+-----+----------+----------+
| uId | userName | password |
+-----+----------+----------+
| 1 | admin | 123 |
| 2 | admin | NULL |
| 5 | admin2 | 123456 |
+-----+----------+----------+
3 rows in set
- 第一条插入语句 password 为空,默认插入设置的默认值,查询可以看到为 null
- 第二条插入语句 id 为空,但是由于 id 设置为自增主键,所以即使没有插入值,id 也默认自增加 1
1.3 同时插入多条数据
INSERT INTO adminuser (userName,password)
VALUES ("admin2","123456"),("admin3","123456"),("admin4","123456");
同时插入多条数据和依次插入单条数据的效果相同,但是插入单行数据效率高。所以插入多条记录时最好单行依次插入。
2. 更新数据
UPDATE adminuser
SET password = "321"
WHERE uid = 1
注意不使用 WHERE 指定更新位置,Mysql 将更新表中所有行
UPDATE adminuser
SET password = "321"
WHERE uid = 1
同查询语句一样,WHERE 后面可以跟各种过滤条件
3. 删除数据
DELETE FROM adminuser
WHERE uid = 2
删除指定位置
DELETE FROM adminuser
删除整个表的数据
4. 注意点
更新和删除表时要注意是否使用 WHERE 指定更新或删除的数据位置:当没有使用 WHERE 指定更新或删除位置时,默认更新和删除整个表中的字段
插入数据时注意字段和值的对应性:如果没有指定字段名,则表示对整个表中的数据进行插入,要为每一个字段依次设置对应类型的值;如果在插入时不为某些字段插入值,则需要满足该字段允许为空,或者改字段具有默认值