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搭建大数据集群(五)Mlsql部署
主要内容 mlsql部署 前提 zookeeper正常使用 spark正常使用 hadoop正常使用 安装包 微云下载 | tar包目录下 mlsql-cluster-2.4_2.11-1.4.0.t ...
- SpringBoot进阶教程(六十二)整合Kafka
在上一篇文章<Linux安装Kafka>中,已经介绍了如何在Linux安装Kafka,以及Kafka的启动/关闭和创建发话题并产生消息和消费消息.这篇文章就介绍介绍SpringBoot整合 ...
- Docker 环境搭建(RedHat 7)
Docker 环境搭建(RedHat 7): CentOS7 下载 http://mirrors.sohu.com/centos/7/isos/x86_64/ 装载镜像文件 安装Linux 7, 参考 ...
- Java 学习笔记之 Daemon线程
Daemon线程: 线程: 用户线程 守护线程 守护线程是一种特殊的线程,在进程中不存在非守护线程了,则守护线程自动销毁. public class DaemonThread extends Thre ...
- 分库分表(4) ---SpringBoot + ShardingSphere 实现分表
分库分表(4)--- ShardingSphere实现分表 有关分库分表前面写了三篇博客: 1.分库分表(1) --- 理论 2.分库分表(2) --- ShardingSphere(理论) 3.分库 ...
- 对BFC规范的理解
什么是BFC? BFC 全称为 块级格式化上下文(Block Fromatting Context),是Web页面的可视化CSS渲染出的一部分.它是块级盒布局出现的区域,也是浮动层元素进行交互的区域. ...
- 检测 IP的正则表达式
... /*ip正则表达式*/ /^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})| ...
- MQTT介绍与使用
物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段.其英文名称是:“Internet of things(IoT)”.顾名思义,物联网就是物物相连的互联网.这有两层意思:其一,物联 ...
- PowerBI系列之什么是PowerBI
大家好,我是小黎子!一个专注于数据分析整体数据仓库解决方案的程序猿!今天小黎子就给大家介绍一个数据分析工具由Microsoft出品的全新数据可视化工具Power BI.微软Excel很早就支持了数据透 ...
- DCL语句
DCL语句我们现在默认使用的都是root用户,超级管理员,拥有全部的权限.但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库.所以,我们应该可以根据不同的项目建立不同的用户,分配不同 ...