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_ ...
随机推荐
- 报错:ORA-25150:不允许对区参数执行ALERING
alter table 表名 MOVE storage ( next 128 ) ; -- Add/modify columns alter table 表名 add 列名 var ...
- .NET生成漂亮桌面背景
.NET生成漂亮桌面背景 一天,我朋友指着某某付费软件对我说,这个东西不错,每天生成一张桌面背景,还能学英语(放置名人名言和翻译)!我说,这东西搞不好我也能做,然后朋友说,"如果你搞出来了, ...
- 利用Python与selenium自动化模拟登陆12306官网!
近年来,12306的反爬越来越来严重,从一年前的 获取tk参数后到现在增加了 JS.CSS等加密方式! 目前大部分人利用的登陆方式都是利用selenium ,此文也不例外. 环境: Wi ...
- Disruptor—核心概念及体验
本文基于最新的3.4.2的版本文档进行翻译,翻译自: https://github.com/LMAX-Exchange/disruptor/wiki/Introduction https://gith ...
- php echo/print 输出函数比较
一.两者区别 echo 支持多个字符串输出,用逗号(,)隔开,print只支持一个字符串输出 echo 输出速度比print快 echo 没有返回值,print返回值总是1 二.使用 echo e ...
- 开发电商平台用PHP语言和JAVA语言有什么区别?哪种语言更好?
现在很多行业都通过电子商务拓展业务,所以商城系统开发成为很多企业的刚性需求.一般有一点技术基础的客户应该知道目前商城系统开发主流语言有两个,PHP和Java.那么很多客户朋友会纠结是选择哪个语言开发好 ...
- spring5 源码深度解析----- 创建AOP代理之获取增强器
在上一篇的博文中我们讲解了通过自定义配置完成了对AnnotationAwareAspectJAutoProxyCreator类型的自动注册,那么这个类到底做了什么工作来完成AOP的操作呢?首先我们看看 ...
- linux下修改python版本号
修改python版本 1.查看已安装版本: /home/user$ whereis python 2.在其 home 目录下创建一个 alias(别名) user@ubuntu:/home/user$ ...
- BeetleX服务网关之限流和缓存
限流和缓存相关是网关中两个非常重要的功能,前者是保障服务更可靠地运行,后者则可以大大提高应用的吞吐能力.Beetlex.Bumblebee微服务网关提供了两个扩展插件来实现这两个功能,分别是Beetl ...
- spring5 源码深度解析----- 事务的回滚和提交(100%理解事务)
上一篇文章讲解了获取事务,并且通过获取的connection设置只读.隔离级别等,这篇文章讲解剩下的事务的回滚和提交 回滚处理 之前已经完成了目标方法运行前的事务准备工作,而这些准备工作最大的目的无非 ...