首页 > 数据库 >MySQL-增删改语句

MySQL-增删改语句

时间:2023-06-30 09:58:00浏览次数:144  
标签:语句 删除 -- 数据 Test values MySQL 增删 WHERE

数据库增删改语句

原创 Lyle_Tu Linux分布式主任 2023-06-26 22:28 发表于福建 收录于合集 #数据库7个 #语句2个 #sql5个 #服务器15个

 

插入数据

使用INSERT语句可向指定表中插入数据。INSERT语法的基本结构如下:

INSERT INTO <table_name > (column_name 1, column_name 2…, column_name n) VALUES(values 1, values 2,…, values n) 其中,column_name 1, column_name 2…, column_name n必须是指定表名中定义的列,而且必须和VALUES子句中的值values 1, values 2,…, values n一一对应,且数据类型相同。

 

模板:

1.单条数据插入  --1)  insert (into) 表名(列名,列名....) values (值,值....)  --2) insert into 表名(列名,列名....) select 值,值....2.多条插入1)insert into 表名(TypeName)values ('工具类1'),('工具类2'),('工具类3'),('工具类4')2)union 去重   union all  允许重复  union all效率比union高insert Test(MName,Age)  select 'fff',21 union select 'fff',213.克隆表数据--1) 目标表在数据库已经存在insert into Test(MName) ---目标表select TypeName from ProductType  --源表--2)目标表之前数据库中不存在,执行操作时自动创建的select TypeName into Test2 --目标表from ProductType   --源表

 

 

修改数据

UPDATE 语法格式:

UPDATE table_nameSET {column_1 =expression}[,…n][WHERE condition]

 

更新数据

--更新数据 update 几乎不会不用where条件

--主键不可以修改

--如果不加where条件,会把整张表的数据都修改了

update Test set MName='ssss',Age=30

where Id=5 (and | or) 条件

 

案例:

修改单行数据:
将插入的SQL Server 2012课程的学分改为5分。UPDATE 课程SET 学分=5WHERE 课程名='SQL Server 2012'

 

修改多行数据:

将所有选修“高等数学”课的同学的成绩加5分。UPDATE 选课SET 成绩=成绩+5WHERE 课程号 IN (SELECT 课程号                 FROM 课程                 WHERE 课程名='高等数学')

 

 

 

删除数据

--数据删除 :只是删除数据,表还在;  连同表一起删除

--1)删除数据  delete from Table 不加条件,会删除整个表数据,几乎都要加where条件  标识列  值还是接着删除前的值而自增,而不是从初始值开始

--delete语句会造成标识列的值不连续

delete from Test where Id = 20

--如果我们想删除数据,让标识列的值恢复到初始值,怎么办?

truncate table Test --表数据清空,恢复到初始化,标识列也恢复

--表面上看,delete from Test 效果一样.

--truncate效率比delete from Test高.delete每删除一条数据,都会在日志里记录.truncate不会记录日志,不激活触发器,drop truncate 是即时操作,不能rollback,delete update insert 事务中,可以恢复.

--慎用truncate 一旦删除,不能恢复.

 

语法格式:

DELETE FROM table_name [WHERE search_conditions]如果省略了WHERE search_conditions子句,就表示删除数据表中全部的数据;如果加上了 [WHERE search_conditions]子句就可以根据条件删除表中的数据。

 

案例:

删除课程表中没有学分的记录。DELETE 课程WHERE 学分 IS NULL删除选课表中姓名为“汪远东”、选修课程为“1001”的选课信息。DELETE 选课WHERE 选课.课程号='1001' AND 学号=(SELECT 学号                                    FROM 学生                                    WHERE 姓名='汪远东')

 

 

 

 

 

 

 

收录于合集 #数据库  7个 上一篇T-SQL Alter 语句下一篇Select 查询语句 阅读 101   Linux分布式主任 55篇原创内容  

标签:语句,删除,--,数据,Test,values,MySQL,增删,WHERE
From: https://www.cnblogs.com/cherishthepresent/p/17515795.html

相关文章

  • mysql-alter语句
    T-SQLAlter语句原创 Lyle_Tu Linux分布式主任 2023-06-2008:21 发表于福建收录于合集#sql5个#linux13个#数据库7个#服务器15个 ALTERTABLE语句用于在已有的表中添加、修改或删除列。 修改数据库常用语句语法格式:ALTERDATABASEdatabase_name{AD......
  • 12 | 为什么我的MySQL会“抖”一下?
    一下内容出自《MySQL实战45讲》12|为什么我的MySQL会“抖”一下?一条SQL语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短。看上去,这就像是数据库“抖”了一下。这个时候,MySQL可能是在刷脏页(fl......
  • ubuntu 18.04.1安装mysql8
    sudoaptupdatesudoaptinstallmysql-serversudosystemctlstatusmysqlsudomysqlALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'password';FLUSHPRIVILEGES;createuser'testuser'@......
  • eggjs连接MySQL数据库
     前言:eggjs连接MySQL数据库,我摸索了各种方式。下面这篇文章能正确链上。 我犯过的几个错误:1,config/plugin.js中我填写错误,这是最致命的,导致直接读不到MySQL。官方文档不靠谱,如下所示//config/plugin.jsexports.mysql={  enable:true,  package:'egg-mysql',};......
  • Vue3+Element-Plus安装及模拟增删改查
    软件安装:nodejs16https://nodejs.org/download/release/v16.20.0/将npm设置为淘宝镜像:npmconfigsetregistryhttps://registry.npm.taobao.org 创建vue3项目:npminitvue@latestEleement-Plushttps://element-plus.gitee.io/zh-CN/安装:npminstallelement-......
  • mysql通过表分区来增加数据查询效率
    背景我们mysql是单机,其中有几个表体积会很大,需要做分表来增加查询效率.我们的数据是连续不断入库的,查询条件是一个批次一个批次的查,也可以看做是按时间段查询.思路mysql事件Event:到一定时间把原表改名,加一个后缀,比如user表改为user_1RENAMETABLEdivision_stop_......
  • 5.流程控制语句
    流程控制语句顺序语句特点:语句逐句执行选择语句特点:出现了一种以上的情况时使用循环语句在某个条件成立的情况下,循环执行某个语句、关键字:选择:if-else,which-case;循环:while,do-while,for,if-goto;辅助控制:continue,break,andsoon.1.if-else语句......
  • MySQL 8.0.33 my.ini说明
    #其他默认调整值#MySQLServer实例配置文件#-------------------------------------------------------------------------------------------------------------------------------------------------------------#由MySQLServer实例配置向导生成###安装说明#------------......
  • mysql: [Warning] Using a password on the command line interface can be insecure.
      https://zhuanlan.zhihu.com/p/542166965 ......
  • 自由软件基金会为甲骨文支招 放弃MySQL
    本文发表于2009-10-2608:3911/2/200911:45:39AM据国外媒体报道,自由软件基金会欧洲分会(以下简称FSFE)周五表示,甲骨文应该将MySQL数据库交给一家独立的非营利机构,以便让欧盟尽早批准甲骨文收购Sun交易。FSFE称,甲骨文应该将MySQL数据库交给一家独立的非营利机构打理,这家机构要把......