MySQL----INSERT,DELETE,UPDATE,SELECT语句

INSERT语句:

INSERT INTO 表名 [(列名1,列名2,....)] VALUES (值1,值2,...);
默认情况下,一条插入命令只针对一行进行影响
​
INSERT INTO 表名 [(columnName,[columnName...])] VALUES (value[,value....]),(value[,value....]),(value[,value....]).....;
一次性插入多条记录
​
PS 如果我们为每一列都要指定注入的值,那么表名后面就不需要罗列插入的列名了
INSERT INTO 表名 VALUES (值1,值2,值3,....)

 

REPLACE语句:

replace语句的语法格式有三种语法格式。
​
语法格式1:
replace into 表名 [(字段列表)] values (值列表);
语法格式2:
replace [into] 目标表名[(字段列表1) select (字段列表2) from 源表 [where 条件表达式];
语法格式3:                    
replace [into] 表名 set 字段1=值1, 字段2=值2;

REPLACE与INSERT语句区别:

replace语句的功能与insert语句的功能基本相同,不同之处在于:使用replace语句向表插入新记录时,如果新记录的主键值或者唯一性约束的字段值与已有记录相同,则已有记录先被删除(注意:已有记录删除时也不能违背外键约束条件),然后再插入新记录。

使用replace的最大好处

就是可以将delete和insert合二为一(效果相当于更新),形成一个原子操作,这样就无需将delete操作与insert操作置于事务中了

DELETE语句 || TRUNCATE语句:

#语法:
DELETE (TRUNCATE) FROM 表名 [WHERE 条件];
​
#区别:
DELETE:删除数据,保留表结构,必要时可以回滚,但是如果数据量较大,运行速度不及TRUNCATE。
​
TRUNCATE:删除所有数据,保留表结构,不能够回滚。一次全部删除所有数据,速度相对很快。
​
DROP:删除数据和表结构,删除速度最快。

 

UPDATE语句:

UPDATE 表名 SET 列名 = 值 [,列名 = 值,列名 = 值,列名 = 值,...] [WHERE 条件];

 

SELECT 语句:

基本语法:

SELECT {*,列名,函数} 
FROM 表名 
[WHERE 条件];
​
#说明:
-SELECT 检索关键字  *匹配所有列  ,  匹配指定列  
-FROM   所提供的数据源(表,视图,另一个查询机制反馈的结果)
-WHERE  条件(控制查询的区域)
​
#示例:
SELECT *
FROM student;                       
#查询学生表的所有列以及所有行  ====>  学生表的全部信息
​
SELECT StudentName,Address,Email    
FROM student;
#查询指定三列的内容所有行 ====> 学生表的姓名 住址  邮箱
​
SELECT StudentName,Address,Email    
#查询指定三列的内容指定行 ====> 学生表的姓名 住址  邮箱  
FROM student
WHERE sex = 0;
#条件 sex = 0
​
#结论   
# SELECT 关键字 和 FROM 关键字之间写的东西控制的是我们结果的列数
# WHERE 写的东西 控制的是我们结果的行数
​
#示例:生日 大于2000-01-01小于2010-01-01 的 男生 的姓名
SELECT StudentName
FROM student
WHERE BornDate>'2000-01-01' AND BornDate<'2010-01-01' AND sex = 1;

SELECT 语句中的算数表达式:

对数值型数据列、变量、常量可以使用算数操作符创建表达式(+ - * /)
对日期型数据列、变量、常量可以使用部分算数操作符创建表达式(+ -)
运算符不仅可以在列和常量之间进行运算,也可以在多列之间进行运算。
SELECT 100+80;
SELECT '300'+80;        #只要其中一个是数值类型,而另一个能够转成数值,则自动转换并计算
SELECT 'ABC'+20;        #若转换不成功,则将其认为是数字0对待
SELECT 'Hello'+'World'; #若转换不成功,则将其认为是数字0对待  
SELECT NULL+80;         #只要有一个为NULL,则结果为NULL
​
#运算符优先级
乘除优先级高于加减
同级运算时运算顺序由左到右
表达式内使用括号,可以改变优先级的运算顺序
​
SELECT SubjectName,ClassHour,ClassHour*10+10
FROM subject;
​
SELECT SubjectName,ClassHour,ClassHour*(10+10)
FROM subject;

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值