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;