当前位置:网站首页>MySQL 数据处理值增删改
MySQL 数据处理值增删改
2022-07-03 13:17:00 【陈弋辛】
目录
6. 将3号员工的last_name修改为“drelxer”
8. 将userid为Bbiri的user表和my_employees表的记录全部删除
0.准备工作
数据文件:mysql查询sql文件-数据集文档类资源-CSDN文库
1. 插入数据
1.1 方式1:VALUES的方式添加
使用这种语法一次只能向表中插入一条数据。1.1.1 情况1:为表的所有字段按默认顺序插入数据
语法格式:
INSERT INTO 表名VALUES (value1,value2,....);值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。
1.1.2 情况2:为表的指定字段插入数据
语法格式:
INSERT INTO 表名(column1 [, column2, …, columnn])VALUES (value1 [,value2, …, valuen]);为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
1.1.3 情况3:同时插入多条记录
INSERT语句可以同时向数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号分隔开。语法格式:
INSERT INTO table_nameVALUES(value1 [,value2, …, valuen]),(value1 [,value2, …, valuen]),……(value1 [,value2, …, valuen]);或
INSERT INTO table_name(column1 [, column2, …, columnn])VALUES(value1 [,value2, …, valuen]),(value1 [,value2, …, valuen]),……(value1 [,value2, …, valuen]);
说明:
1.使用INSERT同时插入多条记录时,MySQL会返回一些在执行单行插入时没有的额外信息,这些信息的含 义如下: ● Records:表明插入的记录条数。 ● Duplicates:表明插入时被忽略的记录,原因可能是这 些记录包含了重复的主键值。 ● Warnings:表明有问题的数据值,例如发生数据类型转换。
2.一个同时插入多行记录的INSERT语句等同于多个单行插入的INSERT语句,但是多行的INSERT语句 在处理过程中 效率更高 。因为MySQL执行单条INSERT语句插入多行数据比使用多条INSERT语句 快,所以在插入多条记录时最好选择使用单条INSERT语句的方式插入。
1.1.4 小结:
1. VALUES 也可以写成 VALUE ,但是VALUES是标准写法。2. 字符和日期型数据应包含在单引号中。1.2 方式2:将查询结果插入到表中
INSERT还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录的值一个一个输入,只需 要使用一条INSERT语句和一条SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入 多行。语法格式:INSERT INTO 目标表名(tar_column1 [, tar_column2, …, tar_columnn])SELECT(src_column1 [, src_column2, …, src_columnn])FROM 源表名[WHERE condition]说明:1.在 INSERT 语句中加入子查询。2.不必书写 VALUES 子句。3.子查询中的值列表应与 INSERT 子句中的列名对应。
注意:
1.查询字段的数据类型必须要与添加到的表的字段的数据类型一一对应
2.添加到的表的字段的长度不能低于查询字段,否则存在添加不成功的风险。
2. 更新数据
使用 UPDATE 语句更新数据。语法如下:
UPDATE table_nameSET column1=value1, column2=value2, … , column=valuen[WHERE condition]可以一次更新多条数据。如果需要回滚数据,需要保证在DML前,进行设置:SET AUTOCOMMIT = FALSE;
注:在添加、修改或删除数据时,是可能存在不成功的。(可能时由于约束的影响)
3. 删除数据
使用 DELETE 语句从表中删除数据,语法格式如下:DELETE FROM table_name[WHERE <condition>];table_name指定要执行删除操作的表;“[WHERE ]”为可选参数,指定删除条件,如果没有WHERE子句, DELETE语句将删除表中的所有记录。注:在添加、修改或删除数据时,是可能存在不成功的。(可能时由于约束的影响)
4.小结
1.DML操作在默认情况下,执行完以后都会自动提交数据,如果希望执行完以后,不自动提交数据,则需要使用SET autocommit = FALSE;
2.在添加、修改或删除数据时,是可能存在不成功的。(可能时由于约束的影响)3.基本语法:添加:方式1:INSERT INTO 表名VALUES (value1,value2,....);方式2:INSERT INTO 目标表名 (tar_column1 [, tar_column2, …, tar_columnn])SELECT (src_column1 [, src_column2, …, src_columnn])FROM 源表名[WHERE condition]更新(修改):UPDATE table_nameSET column1=value1, column2=value2, … , column=valuen[WHERE condition]删除:DELETE FROM table_name[WHERE <condition>];5.mysql8.0新特性:计算列
什么叫计算列呢?简单来说就是某一列的值是通过别的列计算得来的。例如,a列值为1、b列值为2,c列 不需要手动插入,定义a+b的结果为c的值,那么c就是计算列,是通过别的列计算得来的。在MySQL 8.0中,CREATE TABLE 和 ALTER TABLE 中都支持增加计算列。下面以CREATE TABLE为例进行讲解。
6.练习
1. 创建数据库dbtest11
CREATE DATABASE IF NOT EXISTS dbtest11 CHARACTER SET 'utf8';2. 运行以下脚本创建表my_employees
USE dbtest11;CREATE TABLE my_employees(id INT(10),first_name VARCHAR(10),last_name VARCHAR(10),userid VARCHAR(10),salary DOUBLE(10,2));CREATE TABLE users(id INT,userid VARCHAR(10),department_id INT);3. 显示表my_employees的结构
4. 向my_employees表中插入下列数据
5. 向users表中插入数据
1 Rpatel 102 Bdancs 103 Bbiri 204 Cnewman 305 Aropebur 40
6. 将3号员工的last_name修改为“drelxer”
7. 将所有工资少于900的员工的工资修改为1000
8. 将userid为Bbiri的user表和my_employees表的记录全部删除
9. 删除my_employees、users表所有数据
10. 检查所作的修正
11. 清空表my_employees
边栏推荐
猜你喜欢

Several common optimization methods matlab principle and depth analysis

Complete deep neural network CNN training with tensorflow to complete picture recognition case 2

SQL Injection (POST/Search)

Comprehensive evaluation of double chain notes remnote: fast input, PDF reading, interval repetition / memory

使用tensorflow进行完整的DNN深度神经网络CNN训练完成图片识别案例

Kivy教程之 盒子布局 BoxLayout将子项排列在垂直或水平框中(教程含源码)

Complete DNN deep neural network CNN training with tensorflow to complete image recognition cases
![[技术发展-24]:现有物联网通信技术特点](/img/f3/a219fe8e7438b8974d2226b4c3d4a4.png)
[技术发展-24]:现有物联网通信技术特点

TensorBoard可视化处理案例简析

8皇后问题
随机推荐
json序列化时案例总结
Resource Cost Optimization Practice of R & D team
顺序表(C语言实现)
Realize the recognition and training of CNN images, and process the cifar10 data set and other methods through the tensorflow framework
There is nothing new under the sun. Can the meta universe go higher?
MySQL functions and related cases and exercises
php 迷宫游戏
106. 如何提高 SAP UI5 应用路由 url 的可读性
Swiftui development experience: the five most powerful principles that a programmer needs to master
【556. 下一个更大元素 III】
Several common optimization methods matlab principle and depth analysis
Error running 'application' in idea running: the solution of command line is too long
[机缘参悟-37]:人感官系统的结构决定了人类是以自我为中心
Multi table query of MySQL - multi table relationship and related exercises
Spark实战1:单节点本地模式搭建Spark运行环境
刚毕业的欧洲大学生,就能拿到美国互联网大厂 Offer?
The principle of human voice transformer
8 Queen question
Asp. Net core1.1 without project JSON, so as to generate cross platform packages
SwiftUI 开发经验之作为一名程序员需要掌握的五个最有力的原则
























