数据的增、删、改、查
| 数据的增加 |
增加数据的语法:
insert into 表名[(字段1,字段2,...,字段n)] values(字段1的值,字段2的值,...,字段n的值)
如:
insert into stuinfo (stuno,stuname,stuage) values(1,‘张三',20)
注:字段的数据类型。
| 数据的修改 |
修改数据的语法:
update 表名 set 字段1=修改值,...,字段n=修改值 where 逻辑表达式
如:
update stuinfo set stuage=18 where stuno=1
| 数据的删除 |
数据删除的语法:
delete 表名 [where 逻辑表达式]
如:
delete stuinfo where stuno=1
| 数据的查询 |
数据查询的语法:
select 要查的字段 from 表名 [where 逻辑表达式]
如:select stuno,stuname,stuage from stuinfo where stuage>18
| 查询中常用的关键字、运算符、和函数 |
order by关键字是对多条记录进行某种规则进行排序,一般来说是int类型的字段
(asc 表示升序排列,desc表示降序排列)
distinct 用于去除数据表中的才重复数据。
group by 用于数据的分组,常与聚合函数和having关键字搭配使用。
top 行数或百分数:用于查询数据的前多少行。
算术运算符:+,-,*,/,%
比较运算符:>,<,>=,<=,!=,<>,=
逻辑运算符:逻辑与:and,逻辑或:or,逻辑非:not
between and:在两个数值之间
exist:存在
not exist:不存在
in:在集合中
not in:不在集合中
is null:是空
is not nul:非空
like:模糊查询
newid();随机抽取数据
with ties:显示并列的数据
count:计数
sum():计算总和
avg():计算平均值
max():得到最高分
min():最低分
| 多表查询 |
查询方式一(多表联合):
select stuno,stuname,stuag,b.classno,b.classname from stuinfo a,classinfo b where a.classno=b.classno and stuno=1
查询方式二(多表联接):
联接方式一(内联接):
select stuno,stuname,stuag,b.classno,b.classname from stuinfo a inner join classinfo b on a.classno=b.classno where stuno=1
联接方式二(外联接):
联接方式二还可以分为:
方式一(左联接):
select stuno,stuname,stuag,b.classno,b.classname from stuinfo a left join classinfo b on a.classno=b.classno where stuno=1
方式二(右联接):
select stuno,stuname,stuag,b.classno,b.classname from stuinfo a right join classinfo b on a.classno=b.classno where stuno=1
方式三(完全外联接):
select stuno,stuname,stuag,b.classno,b.classname from stuinfo a out join classinfo b on a.classno=b.classno where stuno=1
联接方式三(交叉联接):
select stuno,stuname,stuag,b.classno,b.classname from stuinfo a cross join classinfo b
查询方式三(子查询):
select stuno,stuname,stuag from stuinfo where classno in (select classno from classinfo)
| 把查询到数据批量插入到另一张表中的方法: |
方法一:
--采用insert into语句,前提:新表必须先存在
insert into stuTemp select * from stu
方法二:
--采用select into语句,前提:新表必须先不存在
select * into stuTemp from stu
浙公网安备 33010602011771号