Mysql数据库(四)表记录的更新操作
一、插入表记录
1.使用INSERT...VALUES语句插入新纪录
(1)插入完整数据
mysql> desc tb_manager;
+-------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(30) | YES | | NULL | |
| PWD | varchar(30) | YES | | NULL | |
+-------+------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec) mysql> INSERT INTO tb_manager VALUES(1,'mr','mrsoft');
Query OK, 1 row affected (0.01 sec) mysql> SELECT * FROM tb_manager;
+----+------+--------+
| id | name | PWD |
+----+------+--------+
| 1 | mr | mrsoft |
+----+------+--------+
1 row in set (0.00 sec)
(2)插入数据记录的一部分
mysql> INSERT INTO tb_manager(name,PWD) VALUES('Lianjiang','lianjiang');
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM tb_manager;
+----+-----------+-----------+
| id | name | PWD |
+----+-----------+-----------+
| 1 | mr | mrsoft |
| 2 | Lianjiang | lianjiang |
+----+-----------+-----------+
2 rows in set (0.00 sec)
2.插入多条记录
mysql> INSERT INTO tb_manager(name,PWD) VALUES('lian','111'),('qiao','222'),('tian','333');
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM tb_manager;
+----+-----------+-----------+
| id | name | PWD |
+----+-----------+-----------+
| 1 | mr | mrsoft |
| 2 | Lianjiang | lianjiang |
| 3 | lian | 111 |
| 4 | qiao | 222 |
| 5 | tian | 333 |
+----+-----------+-----------+
5 rows in set (0.00 sec)
3.使用INSERT...SELECT语句将查询结果插入到指定的数据表中,实现从图书馆tb_borrow中获取部借阅信息插入到归还表tb_giveback中
(1)创建借阅表并插入两条数据
mysql> CREATE TABLE tb_borrow(
-> id int(10) unsigned NOT NULL AUTO_INCREMENT,
-> readerid int(10) unsigned,
-> bookid int(10),
-> borrowTime date,
-> backTime date,
-> operator varchar(30),
-> ifback tinyint(1) DEFAULT '0',
-> PRIMARY KEY(id)
-> )DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO tb_borrow(readerid,bookid,borrowTime,backTime,operator,ifback) VALUES
-> (1,1,'2018-04-17','2018-04-20','mr',1),
-> (1,2,'2018-04-16','2018-04-21','mr',0);
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM tb_borrow;
+----+----------+--------+------------+------------+----------+--------+
| id | readerid | bookid | borrowTime | backTime | operator | ifback |
+----+----------+--------+------------+------------+----------+--------+
| 1 | 1 | 1 | 2018-04-17 | 2018-04-20 | mr | 1 |
| 2 | 1 | 2 | 2018-04-16 | 2018-04-21 | mr | 0 |
+----+----------+--------+------------+------------+----------+--------+
2 rows in set (0.00 sec)
(2)创建归还表并查询readerid和bookid字段的值,插入到数据表tb_giveback中
mysql> CREATE TABLE tb_giveback(
-> id int(10) unsigned NOT NULL AUTO_INCREMENT,
-> readerid int(10) unsigned,
-> bookid int(10),
-> backTime date,
-> operator varchar(30),
-> PRIMARY KEY(id)
-> )DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO tb_giveback
-> (readerid,bookid)
-> SELECT readerid,bookid FROM tb_borrow;
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM tb_giveback;
+----+----------+--------+----------+----------+
| id | readerid | bookid | backTime | operator |
+----+----------+--------+----------+----------+
| 1 | 1 | 1 | NULL | NULL |
| 2 | 1 | 2 | NULL | NULL |
+----+----------+--------+----------+----------+
2 rows in set (0.00 sec)
4.使用REPLACE语句插入新纪录
REPLACE语句与INSERT INTO语句相似,所不同的是,如果一个要插入数据的表中存在主键约束或者唯一约束,而且要插入的数据中又包含于要插入数据的表中相同的主键约束或者唯一约束列的值,那么使用INSERT INTO不能插入这条记录,而使用REPLACE可以插入,只不过它会先将原数据表中起冲突的记录删除,然后再插入新的记录。
mysql> INSERT INTO tb_giveback
-> SELECT id,readerid,bookid,backTime,operator FROM tb_borrow;
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
mysql> REPLACE INTO tb_giveback
-> SELECT id,readerid,bookid,backTime,operator FROM tb_borrow;
Query OK, 4 rows affected (0.01 sec)
Records: 2 Duplicates: 2 Warnings: 0 mysql> SELECT * FROM tb_giveback;
+----+----------+--------+------------+----------+
| id | readerid | bookid | backTime | operator |
+----+----------+--------+------------+----------+
| 1 | 1 | 1 | 2018-04-20 | mr |
| 2 | 1 | 2 | 2018-04-21 | mr |
+----+----------+--------+------------+----------+
2 rows in set (0.00 sec)
二、修改表记录,将借阅表中id字段为2的记录的“是否归还”字段值设为1
mysql> UPDATE tb_borrow SET ifback=1 WHERE id=2;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0 mysql> SELECT * FROM tb_borrow;
+----+----------+--------+------------+------------+----------+--------+
| id | readerid | bookid | borrowTime | backTime | operator | ifback |
+----+----------+--------+------------+------------+----------+--------+
| 1 | 1 | 1 | 2018-04-17 | 2018-04-20 | mr | 1 |
| 2 | 1 | 2 | 2018-04-16 | 2018-04-21 | mr | 1 |
+----+----------+--------+------------+------------+----------+--------+
2 rows in set (0.00 sec)
三、删除表记录
1.使用DELETE语句删除表记录
mysql> SELECT * FROM tb_manager;
+----+-----------+-----------+
| id | name | PWD |
+----+-----------+-----------+
| 1 | mr | mrsoft |
| 2 | Lianjiang | lianjiang |
| 3 | lian | 111 |
| 4 | qiao | 222 |
| 5 | tian | 333 |
+----+-----------+-----------+
5 rows in set (0.00 sec) mysql> DELETE FROM tb_manager WHERE name='Lianjiang';
Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM tb_manager;
+----+------+--------+
| id | name | PWD |
+----+------+--------+
| 1 | mr | mrsoft |
| 3 | lian | 111 |
| 4 | qiao | 222 |
| 5 | tian | 333 |
+----+------+--------+
4 rows in set (0.00 sec)
2.使用TRUNCATE语句清空表记录
mysql> TRUNCATE TABLE tb_manager;
Query OK, 0 rows affected (0.02 sec) mysql> SELECT * FROM tb_manager;
Empty set (0.00 sec)
Mysql数据库(四)表记录的更新操作的更多相关文章
- [MySQL数据库之表的详细操作:存储引擎、表介绍、表字段之数据类型]
[MySQL数据库之表的详细操作:存储引擎.表介绍.表字段之数据类型] 表的详细操作 存储引擎 mysql中建立的库======>文件夹 库中建立的表======>文件 用来存储数据的文件 ...
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- MySQL数据库分表的3种方法
原文地址:MySQL数据库分表的3种方法作者:dreamboycx 一,先说一下为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目 ...
- Vc数据库编程基础MySql数据库的表查询功能
Vc数据库编程基础MySql数据库的表查询功能 一丶简介 不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有. 那么这次我们需要掌握的则是. 1.使用select ...
- MySQL数据库以及表的管理
MySQL数据库以及表的管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 今天我们探讨的话题就是如何使用MySQL做开发,我们运维的主要工作不是去开发SQL的,但尽管如此,我们有 ...
- MySQL数据库之表的增删改查
目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...
- [MySQL数据库之表的约束条件:primary key、auto_increment、not null与default、unique、foreign key:表与表之间建立关联]
[MySQL数据库之表的约束条件:primary key.auto_increment.not null与default.unique.foreign key:表与表之间建立关联] 表的约束条件 约束 ...
- Vc数据库编程基础MySql数据库的表增删改查数据
Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...
- MySql数据库创建表
3.3.MySql数据库创建表 创建5个表: UserInfo用户基础表 Role 角色表 MenuInfo 菜单即控制表 Relation_Role_Menu 角色对应菜单关系表 RelaTion_ ...
随机推荐
- Docker实战笔记命令篇
拉取一个镜像 docker pull ubuntu:14.04 查看系统中的镜像 docker images 运行镜像并进入 docker run -it ubuntu:14.04 查看运行的容器 d ...
- 多线程下的wait为什么可以不需要notify
多线程下的wait方法就像我无处安放的青春,胡乱来,感觉没有一点套路.wait后不需要notify仍可以继续执行.所以我决定看看到底咋回事..... 先结合join方法了解一下. join方法是可以等 ...
- 我的Java秋招面经大合集
阿里面经 阿里中间件研发面经 蚂蚁金服研发面经 岗位是研发工程师,直接找蚂蚁金服的大佬进行内推. 我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer. 然后我也参加了 ...
- 编程杂谈——使用emplace_back取代push_back
近日在YouTube视频上看到关于vector中emplace_back与push_back区别的介绍,深感自己在现代C++中还是有不少遗漏的知识点,遂写了段代码,尝试比较两者的差别. 示例代码 #i ...
- 信息传递 NOIP2015 day1 T2
题文: 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知道自己的生日.之后每一轮 ...
- SEER流量众筹模块开发测试网络及使用文档发布
SEER利用区块链奖励机制,可解决传统体育赛事痛点,提高行业运转效率.比如提高赛事方收入,让观众自由选择想看的比赛,给予赛事众筹的参与者贡献影响力,使其获得由智能合约量化的激励等.此功能可广泛应用于包 ...
- golang 服务平滑重启小结
背景 golang 程序平滑重启框架 supervisor 出现 defunct 原因 使用 master/worker 模式 背景 在业务快速增长中,前期只是验证模式是否可行,初期忽略程序发布重启带 ...
- 从零起步 系统入门Python爬虫工程师 ✌✌
从零起步 系统入门Python爬虫工程师 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 大数据时代,python爬虫工程师人才猛增,本课程专为爬虫工程师打造, ...
- .net工作流引擎ccflow开发平台属性功能的隐藏显示介绍
关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明 工作流设计 工作流快速开发平台 业务流程管理 bpm工作流系统 java工 ...
- PMP 项目管理第六版- 组织治理与项目治理之间的关系
组织治理: 1.组织治理通过制定政策和流程,用结构化方式指明工作方向并进行控制,以便实现战略和运营目标. 2,组织治理通常由董事会执行,以确保对相关方的最终责任得以落实,并保持公平和透明. 项目治理: ...