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_ ...
随机推荐
- Java入门系列之hashCode和equals(十二)
前言 前面两节内容我们详细讲解了Hashtable算法和源码分析,针对散列函数始终逃脱不掉hashCode的计算,本节我们将详细分析hashCode和equals,同时您将会看到本节内容是从<E ...
- com.rabbitmq.client.impl.ForgivingExceptionHandler.log:119 -An unexpected connection driver error occured
在服务器上安装了一个RabbitMq,并新创建了一个用户授予了管理员角色,登录控制台查看一切正常,兴高采烈启动项目进行连接,结果一盆冷水下来,报如下错误: o.s.a.r.l.SimpleMessag ...
- PostMethod和GetMethod用法
注:新浪短接口参考地址:https://www.douban.com/note/249723561/ 将长的url链接转换成短链接 一.GetMethod try { HttpClient ...
- 深入集合类系列——HashMap和HashTable的区别
含义:HashMap是基于哈希表的Map接口的非同步实现.允许使用null值和null键.此类不保证映射的顺序,特别是它不保证该顺序恒久不变. 数据结构:HashMap实际上是一个“链表散列”的数据结 ...
- AVR单片机教程——数字IO寄存器
前两篇教程中我们学习了LED.按键.开关的基本原理,数字输入输出的使用以及两者之间的关系.我们用到了 pin_mode . pin_read 和 pin_write 这三个函数,实际上它们离最底层(至 ...
- 检测MySQL主从是否异常
#!bin/bash user='root' passwd="123" host="192.168.192.156" mycmd="mysql -u$ ...
- MongoDB 学习笔记之 $or与索引关系
$or与索引关系: 对leftT集合的timestamp创建索引 执行$or语句:db.leftT.find({$or: [{ "timestamp" : 5},{"ag ...
- Eclipse导入别人项目爆红叉
1.导入项目之前,请确认工作空间编码已设置为utf-8:window->Preferences->General->Wrokspace->Text file encoding- ...
- 异步处理ServletRequest引发的血案
我们的APP生产上出了一次比较严重的事故,许多用户投诉登录后能看到别人的信息,收到投诉后我们就开始查找问题,一般这样的问题都是线程安全引起的,所以查找原因的思路也是按线程安全的思路去查. 业务场景是这 ...
- uniapp 用户拒绝授权再次调起授权-语音识别、微信地址、附近地址
小程序重构,采用 uniapp 框架.记录一下踩过的坑.关于用户拒绝再次调起授权,及如何识别语音识别.微信地址.附近地址的处理. 语音识别 组件 语音识别,小程序只有录音功能,若要识别录音文件,常规做 ...