mysql-增删改
添加记录:
-- 增 -- INSERT[INTO] tb_name VALUES(值...) -- 先创建user表 CREATE TABLE user( id TINYINT UNSIGNED AUTO_INCREMENT KEY, username VARCHAR(20) NOT NULL UNIQUE, password CHAR(32) NOT NULL, email VARCHAR(50) NOT NULL DEFAULT 'a@a.com', age TINYINT UNSIGNED DEFAULT 18 ); -- INTO 可以省略,添加数据 INSERT INTO user VALUES(1,'king','123','king@a.com',20); -- 添加时只给需要赋值的字段赋值,字段可以不按顺序 INSERT user(username, password) VALUES('queen','123');
一次插入多条记录:
-- 一次插入多条记录 INSERT user VALUES(6, 'zhangsan', '123','zhangsan@a.com', 35), (8, 'lisi','123','lisi@a.com',9), (18,'wangwu','123','wangwu@a.com',32);
set方式插入记录:
-- set方式添加记录 INSERT user SET id=55,username='tianqi', password='123',email='tianqi@a.com',age=19; INSERT user SET username='wangba',password='123';
将查询结果插入到user1中,注意这种方式需要两个表中字段一致,类型符合
-- 将查询结果插入到表user1中 -- 必须要保证两表字段一致,类型也符合 -- 假设user1中有id和username两个字段 INSERT user1 SELECT id,username FROM user; -- 字段数量不一致,出错 INSERT user1 SELECT * FROM user;
更新记录:
-- 更新记录 -- UPDATE tb_name SET 字段名称=值,... [WHERE条件][ORDER BY 字段名称][LIMIT 限制条数] -- 如果不加where条件,表中所有记录都会被更新 -- 把所有用户年龄修改成15 UPDATE user set age=15; -- 修改所有用户年龄,邮箱 UPDATE user SET age=20,email='test@qq.com'; -- 将第一条记录的密码,邮箱,年龄改变 UPDATE user SET password='234',email='a@a.com',age=99 WHERE id=1; -- 运算符 UPDATE user SET age=age-5 WHERE id>=3; -- age恢复成默认值 UPDATE user SET age=DEFAULT WHERE username='A';
删除记录:
-- 删除记录 -- DELETE FROM tb_name [WHERE 条件] [ORDER BY 字段名] [limit 限制条数] -- 删除user表中的所有记录 -- 它不会重置AUTO_INCREMENT的值 DELETE FROM user; -- 删除特定记录 DELETE FROM user WHERE id=1;
彻底清空数据表:
-- 彻底清空数据表 -- TRUNCATE [TABLE] tb_name -- 清空数据,并重置AUTO_INCREMENT TRUNCATE user;