广告
返回顶部
首页 > 资讯 > 数据库 >七、MySQL插入、更新与删除数据
  • 121
分享到

七、MySQL插入、更新与删除数据

2024-04-02 19:04:59 121人浏览 泡泡鱼
摘要

 存储在系统中的数据是数据库管理系统(DBMS)的核心,数据库被设计用来管理数据的存储、访问和维护数据的完整性。Mysql中提供丰富的数据管理语句,包括插入数据的INSERT、更新数据的UPDAT

 存储在系统中的数据是数据库管理系统(DBMS)的核心,数据库被设计用来管理数据的存储、访问和维护数据的完整性。Mysql中提供丰富的数据管理语句,包括插入数据的INSERT、更新数据的UPDATE以及删除数据的DELETE语句。

7.1、插入数据

为表的所有字段插入数据

 使用基本的INSERT语句插入数据,要求指定表名称和插入到新纪录中的值,其基本语法为:

INSERT INTO tbl_name (column_list) VALUES (value_list)

在插入数据前,首先创建一张表:

mysql> CREATE TABLE person
    -> (
    -> id     INT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> name   CHAR(40) NOT NULL DEFAULT '',
    -> age    INT NOT NULL DEFAULT 0,
    -> info   CHAR(50) NULL,
    -> PRIMARY KEY (id)
    -> );
Query OK, 0 rows affected (0.03 sec)

在person表中,插入一条新记录,id值为1,name值为Green,age值为21,info值为Lawyer

mysql>  INSERT INTO person (id ,name, age , info)
    ->       VALUES (1,'Green', 21, 'Lawyer');
Query OK, 1 row affected (0.02 sec)

mysql> SELECT * FROM person;
+----+-------+-----+--------+
| id | name  | age | info   |
+----+-------+-----+--------+
|  1 | Green |  21 | Lawyer |
+----+-------+-----+--------+
1 row in set (0.00 sec)


在person表中,插入一条新记录,id值为2,name值为Suse,age值为22,info值为dancer

mysql>  INSERT INTO person (age ,name, id , info)
    ->       VALUES (22, 'Suse', 2, 'dancer');
Query OK, 1 row affected (0.02 sec)

mysql> SELECT * FROM person;
+----+-------+-----+--------+
| id | name  | age | info   |
+----+-------+-----+--------+
|  1 | Green |  21 | Lawyer |
|  2 | Suse  |  22 | dancer |
+----+-------+-----+--------+
2 rows in set (0.00 sec)


为表的指定字段插入数据

在person表中,插入一条新记录,name值为Willam,age值为20,info值为sports man

mysql>  INSERT INTO person (name, age,info)
    ->      VALUES('Willam', 20, 'sports man');
Query OK, 1 row affected (0.02 sec)

mysql> SELECT * FROM person;                                                       
+----+--------+-----+------------+
| id | name   | age | info       |
+----+--------+-----+------------+
|  1 | Green  |  21 | Lawyer     |
|  2 | Suse   |  22 | dancer     |
|  3 | Willam |  20 | sports man |
+----+--------+-----+------------+
3 rows in set (0.00 sec)

在person表中,插入一条新记录,name值为laura,age值为25

mysql>  INSERT INTO person (name, age ) VALUES ('Laura', 25);
Query OK, 1 row affected (0.01 sec)

mysql> SELECT * FROM person;                                 
+----+--------+-----+------------+
| id | name   | age | info       |
+----+--------+-----+------------+
|  1 | Green  |  21 | Lawyer     |
|  2 | Suse   |  22 | dancer     |
|  3 | Willam |  20 | sports man |
|  4 | Laura  |  25 | NULL       |
+----+--------+-----+------------+
4 rows in set (0.00 sec)

  可以发现id字段在插入数据后,没有赋值时自动增加,在这里id字段为表的主键,不能为空,紫铜会自动为字段插入自增的序列值。

同时插入多条记录

  INSERT语句可以同时相数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号分隔开,基本语法为:

INSERT INTO tbl_name (column_list) 
  VALUES (value_list1), (value_list2),(value_list3);

在person表中,在name、age和info字段指定插入值,同时插入3条新记录

mysql>  INSERT INTO person(name, age, info)
    ->      VALUES ('Evans',27, 'secretary'),
    ->      ('Dale',22, 'cook'),
    ->      ('Edison',28, 'singer');
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM person;                                                              
+----+--------+-----+------------+
| id | name   | age | info       |
+----+--------+-----+------------+
|  1 | Green  |  21 | Lawyer     |
|  2 | Suse   |  22 | dancer     |
|  3 | Willam |  20 | sports man |
|  4 | Laura  |  25 | NULL       |
|  5 | Evans  |  27 | secretary  |
|  6 | Dale   |  22 | cook       |
|  7 | Edison |  28 | singer     |
+----+--------+-----+------------+
7 rows in set (0.00 sec)

在person表中,不指定插入列表,同时插入2条新记录

mysql>  INSERT INTO person
    ->      VALUES (9,'Harry',21, 'magician'),
    ->      (NULL,'Harriet',19, 'pianist');
Query OK, 2 rows affected (0.02 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM person;                                                              
+----+---------+-----+------------+
| id | name    | age | info       |
+----+---------+-----+------------+
|  1 | Green   |  21 | Lawyer     |
|  2 | Suse    |  22 | dancer     |
|  3 | Willam  |  20 | sports man |
|  4 | Laura   |  25 | NULL       |
|  5 | Evans   |  27 | secretary  |
|  6 | Dale    |  22 | cook       |
|  7 | Edison  |  28 | singer     |
|  9 | Harry   |  21 | magician   |
| 10 | Harriet |  19 | pianist    |
+----+---------+-----+------------+
9 rows in set (0.00 sec)

将查询结果插入数据

 INSERT语句用来给数据表插入记录时,指定插入记录的列值。INSERT还可以将SELECT语句查询的结果插入到列表中,其基本语法为:

INSERT INTO tbl_name1 (column_list1) 
  SELECT (column_list2) FROM table_name2 WHERE (condition)

从person_old表中查询所有的记录,并将其插入到person表中

首先,创建一个名为person_old的数据表,其表结构与person结构相同
mysql> CREATE TABLE person_old
    -> (
    -> id     INT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> name   CHAR(40) NOT NULL DEFAULT '',
    -> age    INT NOT NULL DEFAULT 0,
    -> info   CHAR(50) NULL,
    -> PRIMARY KEY (id)
    -> );
Query OK, 0 rows affected (0.11 sec)

向person_old表中添加两条记录
mysql>  INSERT INTO person_old
    ->      VALUES (11,'Harry',20, 'student'), (12,'Beckham',31, 'police');
Query OK, 2 rows affected (0.20 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM person_old;
+----+---------+-----+---------+
| id | name    | age | info    |
+----+---------+-----+---------+
| 11 | Harry   |  20 | student |
| 12 | Beckham |  31 | police  |
+----+---------+-----+---------+
2 rows in set (0.00 sec)

插入数据到person表中
mysql> INSERT INTO person(id, name, age, info)
    ->      SELECT id, name, age, info FROM person_old;
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM person;
+----+---------+-----+------------+
| id | name    | age | info       |
+----+---------+-----+------------+
|  1 | Green   |  21 | Lawyer     |
|  2 | Suse    |  22 | dancer     |
|  3 | Willam  |  20 | sports man |
|  4 | Laura   |  25 | NULL       |
|  5 | Evans   |  27 | secretary  |
|  6 | Dale    |  22 | cook       |
|  7 | Edison  |  28 | singer     |
|  9 | Harry   |  21 | magician   |
| 10 | Harriet |  19 | pianist    |
| 11 | Harry   |  20 | student    |
| 12 | Beckham |  31 | police     |
+----+---------+-----+------------+
11 rows in set (0.00 sec)

7.2、更新数据

  表中有数据之后,可以对数据进行更新,其基本语法为:

UPDATE table_name
    SET col_name1=value1,col_name2=value2,...,
    WHERE where_condition

在person表中,更新id值为11的记录,将age字段值改为15,将name字段值改为LiMing

mysql> UPDATE person SET age = 15, name='LiMing' WHERE id = 11;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT * FROM person WHERE id=11;
+----+--------+-----+---------+
| id | name   | age | info    |
+----+--------+-----+---------+
| 11 | LiMing |  15 | student |
+----+--------+-----+---------+
1 row in set (0.00 sec)

在person表中,更新age值为19~22的记录,将info字段值都改为student

mysql> UPDATE person SET info='student'  WHERE age  BETWEEN 19 AND 22;  
Query OK, 6 rows affected (0.02 sec)
Rows matched: 6  Changed: 6  Warnings: 0

mysql> SELECT * FROM person WHERE age BETWEEN 19 AND 22;                 
+----+---------+-----+---------+
| id | name    | age | info    |
+----+---------+-----+---------+
|  1 | Green   |  21 | student |
|  2 | Suse    |  22 | student |
|  3 | Willam  |  20 | student |
|  6 | Dale    |  22 | student |
|  9 | Harry   |  21 | student |
| 10 | Harriet |  19 | student |
+----+---------+-----+---------+
6 rows in set (0.00 sec)

7.3、删除数据

  从数据表中删除数据使用DELETE语句,其基本语法为:

DELETE FROMN table_name [WHERE <condition>]

在person表中,删除id等于11的记录

执行删除操作前,使用SELECT语句查看当前id=11的记录
mysql>  SELECT * FROM person WHERE id=11;
+----+--------+-----+---------+
| id | name   | age | info    |
+----+--------+-----+---------+
| 11 | LiMing |  15 | student |
+----+--------+-----+---------+
1 row in set (0.00 sec)

使用DELETE语句删除该记录
mysql>  DELETE FROM person WHERE id = 11;
Query OK, 1 row affected (0.02 sec)

语句执行完毕,查看执行结果:
mysql>  SELECT * FROM person WHERE id=11;
Empty set (0.00 sec)

在person表中,使用DELETE语句同时删除多条记录,删除age字段在19-22的记录

执行删除操作前,使用SELECT语句查看当前的数据
mysql>  SELECT * FROM person WHERE age BETWEEN 19 AND 22;
+----+---------+-----+---------+
| id | name    | age | info    |
+----+---------+-----+---------+
|  1 | Green   |  21 | student |
|  2 | Suse    |  22 | student |
|  3 | Willam  |  20 | student |
|  6 | Dale    |  22 | student |
|  9 | Harry   |  21 | student |
| 10 | Harriet |  19 | student |
+----+---------+-----+---------+
6 rows in set (0.00 sec)

DELETE删除这些记录
mysql>  DELETE FROM person WHERE age BETWEEN 19 AND 22;
Query OK, 6 rows affected (0.01 sec)

查看执行结果
mysql>  SELECT * FROM person WHERE age BETWEEN 19 AND 22;
Empty set (0.00 sec)

删除person表中所有记录,SQL语句如下

执行删除操作前,使用SELECT语句查看当前的数据:
 mysql> SELECT * FROM person;
+----+---------+-----+-----------+
| id | name    | age | info      |
+----+---------+-----+-----------+
|  4 | Laura   |  25 | NULL      |
|  5 | Evans   |  27 | secretary |
|  7 | Edison  |  28 | singer    |
| 12 | Beckham |  31 | police    |
+----+---------+-----+-----------+
4 rows in set (0.00 sec)

执行DELETE语句删除这4条记录
mysql>  DELETE FROM person;
Query OK, 4 rows affected (0.01 sec)

查看执行结果:
mysql>  SELECT * FROM person;
Empty set (0.00 sec)

  如果想删除表中的所有记录,还可以使用TRUNCATE TABLE语句,TRUNCATE将直接删除原来的表并重新创建一个表,其语法结构为TRUNCATE TABLE table_name。TRUNCATE直接删除表而不是删除记录,因此执行速度比DELETE快。












您可能感兴趣的文档:

--结束END--

本文标题: 七、MySQL插入、更新与删除数据

本文链接: https://www.lsjlt.com/news/44843.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 七、MySQL插入、更新与删除数据
     存储在系统中的数据是数据库管理系统(DBMS)的核心,数据库被设计用来管理数据的存储、访问和维护数据的完整性。MySQL中提供丰富的数据管理语句,包括插入数据的INSERT、更新数据的UPDAT...
    99+
    2022-10-18
  • MySQL数据中如何实现插入、更新与删除
    小编给大家分享一下MySQL数据中如何实现插入、更新与删除,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!案例:创建表books,...
    99+
    2022-10-18
  • mysql 数据插入和更新及删除详情
    目录1、插入2、更新3、删除1、插入 INSERT INTO customers( customers.cust_address, customers.cust_city, cu...
    99+
    2022-11-12
  • Mysql数据库中如何插入、删除、更新语句
    下文给大家带来关于Mysql数据库中如何插入、删除、更新语句,感兴趣的话就一起来看看这篇文章吧,相信看完Mysql数据库中如何插入、删除、更新语句对大家多少有点帮助吧。一、简介由MySQL AB公司开发,是...
    99+
    2022-10-18
  • MySQL数据库操作DML 插入数据,删除数据,更新数据
    目录DML介绍数据插入数据修改数据删除DML介绍 DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。 关键字: 插入insert删除delet&#...
    99+
    2022-07-11
    MySQL数据库操作DML MySQL插入数据 MySQL删除数据 MySQL更新数据
  • MySQL数据库操作DML 插入数据,删除数据,更新数据
    目录DML介绍数据插入数据修改数据删除DML介绍 DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。 关键字...
    99+
    2022-11-13
  • MySQL中数据表如何实现数据插入、更新、删除操作
    小编给大家分享一下MySQL中数据表如何实现数据插入、更新、删除操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、插入数据 ...
    99+
    2022-10-18
  • 使用T-SQL语句插入、更新、删除数据表
        在对数据进行管理时,使用SSMS进行数据维护有可视化、方便的优点,但是在批量维护或重复维护时,使用SSMS就不方便了,还容易出错,这就需要编写SQL语句对数据库进行维护SQL和T...
    99+
    2022-10-18
  • CI查询构造器类(插入数据、更新数据、删除数据)
    $data = array( "title" => "My title", "name" => "My Name", "date" => "My date" ); $this->db->insert("mytabl...
    99+
    2017-06-13
    CI查询构造器类(插入数据 更新数据 删除数据)
  • PostgreSQL数据库事务插入删除及更新操作示例
    目录INSERTDELETEUPDATE事务INSERT 使用INSERT语句可以向表中插入数据。 创建一个表: CREATE TABLE ProductIns (produ...
    99+
    2022-11-13
  • MongoDB怎么对Document插入、删除及更新
    这篇文章主要介绍了MongoDB怎么对Document插入、删除及更新的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MongoDB怎么对Document插入、删除及更新文章都会有所收获,下面我们一起来看看吧。一...
    99+
    2023-07-02
  • PostgreSQL数据库事务插入删除及更新操作的方法
    这篇文章主要介绍了PostgreSQL数据库事务插入删除及更新操作的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PostgreSQL数据库事务插入删除及更新操作的方法文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-06-29
  • MongoDB对Document(文档)的插入、删除及更新
    一.Document数据插入 1.插入文档 db.[文档名].insert({BSON数据}) 2.批量插入文档 shell当中不支持批量插入,想完成批量插入操作,可以使用shell的for循环,或者其他高级语言当中的批...
    99+
    2022-07-08
    MongoDB Document 文档插入 文档删除 文档更新
  • JavaScript之DOM如何实现插入更新删除
    这篇文章主要介绍了JavaScript之DOM如何实现插入更新删除,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。更新拿到一个DOM节点后,我...
    99+
    2022-10-19
  • MyBatis批量插入/修改/删除MySql数据
    前言 由于项目需要生成多条数据,并保存到数据库当中,在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,项目使用了Spring+MyBatis,所以打算使用M...
    99+
    2022-11-12
  • 数据库怎么删除与更新记录
    这篇文章主要介绍了数据库怎么删除与更新记录的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇数据库怎么删除与更新记录文章都会有所收获,下面我们一起来看看吧。   &nb...
    99+
    2022-10-19
  • MySQL中如何更新数据以及删除数据
    这篇文章主要介绍了MySQL中如何更新数据以及删除数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。(1)、更新数据MySQL中使用upda...
    99+
    2022-10-18
  • sql查询语句教程之插入、更新和删除数据实例
    目录前言1、插入数据1.1 为表的所有字段插入数据1、insert语句中不指定具体的字段名2、insert语句中列出所有字段1.2 为表的指定字段插入数据1.3 同时插入多条记录1....
    99+
    2022-11-13
  • Mariadb数据的插入、删除与修改方法
    这篇文章主要讲解了“Mariadb数据的插入、删除与修改方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mariadb数据的插入、删除与修改方法”吧!INSERT插入数据INSERT语句格...
    99+
    2023-06-27
  • MySQL利用视图插入修改删除数据
    这里写自定义目录标题 1. 准备2.创建视图3.插入数据4.修改记录、删除记录5.总结: 1. 准备 已有数据库stu,数据表student、course、score: create da...
    99+
    2023-10-21
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作