mysql8中怎么增删一列_MYSQL 第八课 数据的增删改

#DML语言

/*

数据操作语言:

插入:insert

修改:update

删除:delete

*/

#一、插入语句

#方式一:经典的插入

/*

语法:

insert into 表名(列名,...) values(值1,...);

*/

SELECT * FROM beauty;

#1.插入的值的类型要与列的类型一致或兼容

INSERT INTObeauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,‘唐艺昕‘,‘女‘,‘1990-4-23‘,‘1898888888‘,NULL,2);

#2.不可以为null的列必须插入值。可以为null的列如何插入值?

#方式一:

INSERT INTObeauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,‘唐艺昕‘,‘女‘,‘1990-4-23‘,‘1898888888‘,NULL,2);

#方式二:

INSERT INTObeauty(id,NAME,sex,phone)VALUES(15,‘娜扎‘,‘女‘,‘1388888888‘);

#3.列的顺序是否可以调换

INSERT INTObeauty(NAME,sex,id,phone)VALUES(‘蒋欣‘,‘女‘,16,‘110‘);

#4.列数和值的个数必须一致

INSERT INTObeauty(NAME,sex,id,phone)VALUES(‘关晓彤‘,‘女‘,17,‘110‘);

#5.可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致

INSERT INTObeautyVALUES(18,‘张飞‘,‘男‘,NULL,‘119‘,NULL,NULL);

#方式二:

/*

语法:

insert into 表名

set 列名=值,列名=值,...

*/

INSERT INTObeautySET id=19,NAME=‘刘涛‘,phone=‘999‘;

#两种方式大pk ★

#1、方式一支持插入多行,方式二不支持

INSERT INTObeautyVALUES(23,‘唐艺昕1‘,‘女‘,‘1990-4-23‘,‘1898888888‘,NULL,2)

,(24,‘唐艺昕2‘,‘女‘,‘1990-4-23‘,‘1898888888‘,NULL,2)

,(25,‘唐艺昕3‘,‘女‘,‘1990-4-23‘,‘1898888888‘,NULL,2);

#2、方式一支持子查询,方式二不支持

INSERT INTObeauty(id,NAME,phone)SELECT 26,‘宋茜‘,‘11809866‘;

INSERT INTObeauty(id,NAME,phone)SELECT id,boyname,‘1234567‘

FROM boys WHERE id<3;

#二、修改语句

/*

1.修改单表的记录★

语法:

update 表名1

set 列=新值,列=新值,...3

where 筛选条件;2

2.修改多表的记录【补充】

语法:

sql92语法:

update 表1 别名,表2 别名

set 列=值,...

where 连接条件

and 筛选条件;

sql99语法:

update 表1 别名

inner|left|right join 表2 别名

on 连接条件

set 列=值,...

where 筛选条件;

*/

#1.修改单表的记录

#案例1:修改beauty表中姓唐的女神的电话为13899888899

UPDATE beauty SET phone = ‘13899888899‘

WHERE NAME LIKE ‘唐%‘;

#案例2:修改boys表中id好为2的名称为张飞,魅力值 10

UPDATE boys SET boyname=‘张飞‘,usercp=10

WHERE id=2;

#2.修改多表的记录

#案例 1:修改张无忌的女朋友的手机号为114

UPDATEboys boINNER JOINbeauty bON bo.`id`=b.`boyfriend_id`SET b.`phone`=‘119‘,bo.`userCP`=1000

WHERE bo.`boyName`=‘张无忌‘;

#案例2:修改没有男朋友的女神的男朋友编号都为2号

UPDATEboys boRIGHT JOIN beauty b ON bo.`id`=b.`boyfriend_id`SET b.`boyfriend_id`=2

WHERE bo.`id` IS NULL;

SELECT * FROM boys;

#三、删除语句

/*

方式一:delete

语法:

1、单表的删除【★】

delete from 表名 where 筛选条件

2、多表的删除【补充】

sql92语法:

delete 表1的别名,表2的别名

from 表1 别名,表2 别名

where 连接条件

and 筛选条件;

sql99语法:

delete 表1的别名,表2的别名

from 表1 别名

inner|left|right join 表2 别名 on 连接条件

where 筛选条件;

方式二:truncate

语法:truncate table 表名;

*/

#方式一:delete

#1.单表的删除

#案例:删除手机号以9结尾的女神信息

DELETE FROM beauty WHERE phone LIKE ‘%9‘;SELECT * FROM beauty;

#2.多表的删除

#案例:删除张无忌的女朋友的信息

DELETEbFROMbeauty bINNER JOIN boys bo ON b.`boyfriend_id` =bo.`id`WHERE bo.`boyName`=‘张无忌‘;

#案例:删除黄晓明的信息以及他女朋友的信息

DELETEb,boFROMbeauty bINNER JOIN boys bo ON b.`boyfriend_id`=bo.`id`WHERE bo.`boyName`=‘黄晓明‘;

#方式二:truncate语句

#案例:将魅力值>100的男神信息删除

TRUNCATE TABLE boys ;

#delete pk truncate【面试题★】

/*

1.delete 可以加where 条件,truncate不能加

2.truncate删除,效率高一丢丢

3.假如要删除的表中有自增长列,

如果用delete删除后,再插入数据,自增长列的值从断点开始,

而truncate删除后,再插入数据,自增长列的值从1开始。

4.truncate删除没有返回值,delete删除有返回值

5.truncate删除不能回滚,delete删除可以回滚.

*/

SELECT * FROM boys;

DELETE FROM boys;

TRUNCATE TABLE boys;

INSERT INTO boys (boyname,usercp)

VALUES(‘张飞‘,100),(‘刘备‘,100),(‘关云长‘,100);

#1.运行以下脚本创建表my_employees

USE myemployees;

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

);

#2.显示表my_employees的结构

DESC my_employees;

#3. 向my_employees表中插入下列数据

IDFIRST_NAMELAST_NAMEUSERIDSALARY

1patelRalphRpatel895

2DancsBettyBdancs860

3BiriBenBbiri1100

4NewmanChadCnewman750

5RopeburnAudreyAropebur1550

#方式一:

INSERT INTOmy_employeesVALUES(1,‘patel‘,‘Ralph‘,‘Rpatel‘,895),

(2,‘Dancs‘,‘Betty‘,‘Bdancs‘,860),

(3,‘Biri‘,‘Ben‘,‘Bbiri‘,1100),

(4,‘Newman‘,‘Chad‘,‘Cnewman‘,750),

(5,‘Ropeburn‘,‘Audrey‘,‘Aropebur‘,1550);

DELETE FROM my_employees;

#方式二:

INSERT INTOmy_employeesSELECT 1,‘patel‘,‘Ralph‘,‘Rpatel‘,895 UNION

SELECT 2,‘Dancs‘,‘Betty‘,‘Bdancs‘,860 UNION

SELECT 3,‘Biri‘,‘Ben‘,‘Bbiri‘,1100 UNION

SELECT 4,‘Newman‘,‘Chad‘,‘Cnewman‘,750 UNION

SELECT 5,‘Ropeburn‘,‘Audrey‘,‘Aropebur‘,1550;

#4. 向users表中插入数据

1Rpatel10

2Bdancs10

3Bbiri20

4Cnewman30

5Aropebur40

INSERT INTOusersVALUES(1,‘Rpatel‘,10),

(2,‘Bdancs‘,10),

(3,‘Bbiri‘,20);

#5.将3号员工的last_name修改为“drelxer”

UPDATE my_employees SET last_name=‘drelxer‘ WHERE id = 3;

#6.将所有工资少于900的员工的工资修改为1000

UPDATE my_employees SET salary=1000 WHERE salary<900;

#7.将userid 为Bbiri的user表和my_employees表的记录全部删除

DELETEu,eFROMusers uJOIN my_employees e ON u.`userid`=e.`Userid`WHERE u.`userid`=‘Bbiri‘;

#8.删除所有数据

DELETE FROMmy_employees;DELETE FROM users;

#9.检查所作的修正

SELECT * FROMmy_employees;SELECT * FROM users;

#10.清空表my_employees

TRUNCATE TABLE my_employees;

原文:https://www.cnblogs.com/YUANXIAONA/p/13694603.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++中new和delete的使用方法

new和delete运算符用于动态分配和撤销内存的运算符 new用法: 1. 开辟单变量地址空间 1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a new int 即为将一个int类型的地址赋值给整型指针a. 2)int *a new int(5) 作用同上,但是同时将整数赋…

学习笔记--Dubbo

Dubbo学习笔记 Dubbo是什么 Dubbo是&#xff1a; 一款分布式服务框架高性能和透明化的RPC远程服务调用方案SOA服务治理方案ZooKeeper服务注册中心 下载 ZooKeeper &#xff0c;地址 http://www.apache.org/dyn/closer.cgi/zookeeper 解压&#xff0c;修改zoo_sample.cfg 重命名…

apache hive_通过6个简单的步骤在Windows上运行Apache Hive

apache hive注意 &#xff1a;您需要安装cygwin才能运行本教程&#xff0c;因为Hadoop&#xff08;Hive所需&#xff09;需要cygwin才能在Windows上运行。 至少&#xff0c;系统中必须存在Basic&#xff0c;Net&#xff08;OpenSSH&#xff0c;tcp_wrapper软件包&#xff09;和…

java remove(index)_方法removeElementAt(int index)在Java中做什么?

removeElementAt(INT指数)方法用于指定索引处删除的组件。该向量中具有大于或等于指定索引的索引的每个分量都向下移动&#xff0c;以使其索引比以前具有的值小一个&#xff0c;并且此向量的大小减小1。示例public class VectorDemo {public static void main(String[] args) {…

C++的营养

上一篇《C的营养——RAII》中介绍了RAII&#xff0c;以及如何在C#中实现。这次介绍另一个重要的基础技术——swap手法。swap手法 swap手法不应当是C独有的技术&#xff0c;很多语言都可以实现&#xff0c;并且从中得到好处。只是C存在的一些缺陷迫使大牛们发掘&#xff0c;并开…

git rm -r --cached 去掉已经托管在git上的文件

1.gitignore文件 在git中如果想忽略掉某个文件&#xff0c;不让这个文件提交到版本库中&#xff0c;可以使用修改 .gitignore 文件的方法。这个文件每一行保存了一个匹配的规则例如&#xff1a; # 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a 结尾的文件 !l…

Gradle技巧–显示buildscript依赖项

在Gradle中如何显示和分析buildscript依赖项&#xff08;例如插件&#xff09;的简单方法 介绍 这是我的Gradle技巧迷你系列的第三部分&#xff0c;该系列与可视化和依赖性分析有关。 在第一篇文章中&#xff0c;我介绍了一种如何显示多项目构建中所有子项目的依赖关系的方法。…

Java购物车swing_JAVA课程设计--购物车

1.码云GIT提交2.设计思路1&#xff0c;使用数据库对购物车的数据进行处理2.分别使用sql语句来实现对购物车和商城物品的增删改查。3.代码package Main;import java.awt.BorderLayout;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import j…

[python] 列表解析式的高效与简洁

方法一&#xff08;列表解析式&#xff09;&#xff1a; list1 ["abc","efg","hij"] list2 [i[0] for i in list1] print list2方法二&#xff08;普通写法&#xff09;&#xff1a; list1 ["abc","efg","hij"…

c++异常处理机制示例及讲解

&#xfeff;&#xfeff;这两天我写了一个测试c异常处理机制的例子&#xff0c;感觉有很好的示范作用&#xff0c;在此贴出来&#xff0c;给c异常处理的初学者入门。本文后附有c异常的知识普及&#xff0c;有兴趣者也可以看看。 下面的代码直接贴到你的console工程中&am…

mysql数据库char类型长度_mysql数据库设计字符类型及长度

1.数字类型小数的我就不聊了&#xff0c;因为有小数点的一般都是用字符串保存。关于整数&#xff0c;有几种可以选TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT&#xff0c;分别占1、2、4、8字节。如果无符号&#xff0c;则其最大为255、65535、16777215、4294967295和184467440…

隐藏响应的server,X-Powered-By

隐藏X-Powered-By 修改 php.ini 文件 设置 expose_php Off apache 隐藏 server 修改httpd.conf 设置 ServerSignature Off ServerTokens Prod nginx 隐藏 server 修改nginx.conf 在http里面设置 server_tokens off;转载于:https://www.cnblogs.com/ouruola863/p/9519500.ht…

javaone_JavaOne 2012:掌握Java部署

javaone在为另一场JavaOne 2012午餐吃了意大利经典组合后&#xff0c;我前往希尔顿帝国宴会厅B观看了演示“掌握Java部署”。 来自Oracle的发言人是Mark Howe和Igor Nekrestyano Howe表示&#xff0c;部署团队的目标是帮助Java开发人员将其应用程序部署到所选平台。 他首先讨论…

C++异常处理机制详解

&#xfeff;&#xfeff;异常处理是一种允许两个独立开发的程序组件在程序执行期间遇到程序不正常的情况(异常exception)时相互通信的机制。本文总结了19个C异常处理中的常见问题&#xff0c;基本涵盖了一般C程序开发所需的关于异常处理部分的细节。 1. throw可以抛出哪些种类…

Github pull request 工作流总结

github 上面有很多非常不错的开源项目&#xff0c;我们也可以向其贡献自己的代码&#xff0c;那么我们如何提交自己的代码给开源项目呢&#xff1f;这里就要用到 pull request 的提交方式。当然&#xff0c;基于 git 的其他平台也是类似的用法。 假设源仓库为&#xff1a;https…

[MEGA DEAL] Java编程-硕士课程(85%折扣)

获得有关Java所有事物的高级分步指导 嘿&#xff0c;怪胎&#xff0c; 本周&#xff0c;在我们的JCG Deals商店中 &#xff0c;我们提供了一个极端的报价 。 我们提供的Java编程–硕士课程 仅售29美元&#xff0c;而不是原始价格149美元 &#xff0c;是的&#xff0c;可享受…

java中对象别名使用_JAVA中的别名现象

问题的提出&#xff1a;在java中&#xff0c;对基本数据类型的赋值时&#xff0c;是将数据从一个地方复制到另外一个地方&#xff0c;当ab时&#xff0c;将b的内容复制给a,若修改a时&#xff0c;b并不会受到这种修改的影响。在对对象进行赋值时&#xff0c;当我们对一个对象进行…

C/C++中的运算符优先级总结

C语言中的运算符 说明 运算符 结合性 初等运算符 () [] -> . -> 单目运算符 ! ~ -- - (类型) * & sizeof <- 算术运算符 * / % -> 算术运算符 - -> 移位运算符 << >> -> 关系运算符 > > < < -> 关系运算符 ! -> 按位与…

nginx 直接在配置文章中设置日志分割

直接在nginx配置文件中&#xff0c;配置日志循环&#xff0c;而不需使用logrotate或配置cron任务。需要使用到$time_iso8601 内嵌变量来获取时间。$time_iso8601格式如下&#xff1a;2015-08-07T18:12:0202:00。然后使用正则表达式来获取所需时间的数据。 按天分割日志 使用下面…

javaone_JavaOne 2012:JavaOne技术主题演讲

javaoneMark Reinhold从JavaOne 2012技术主题演讲开始。 他说&#xff0c;今年的版本将有所不同&#xff0c;因为它将使用大致相同的示例来说明Java的各个方面&#xff0c;而不是对Java的每个组件进行单独的单独介绍。 JavaFX团队的Richard Bair和Jasper Potts &#xff08;并与…