MySQL-增删改语句

数据库增删改语句

 

插入数据

使用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篇原创内容
 
posted @ 2023-06-30 09:44  往事已成昨天  阅读(16)  评论(0编辑  收藏  举报