学习或者工作当中经常会遇到数据库的基本操作,写下来加深点影响,以后也方便查阅
(不同数据库可能会有差错,由于考研复试的需要,我就写的sql server)
在进行数据库操作时,无非就是添加、删除、修改,这得设计到一些常用的SQL语句,
如下: SQL常用命令使用方法:
1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like %字段值% order by 字段名 [desc]" sql="select * from 数据表 where 字段名 in (值1,值2,值3)" sql="select * from 数据表 where 字段名 between 值1 and 值2"
(2) 更新数据记录: sql="update 数据表 set 字段名=字段值 where 条件表达式" sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
(3) 删除数据记录: sql="delete from 数据表 where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除)
(4) 添加数据记录: sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)" sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
(5) 数据表的建立和删除: CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… ) 例:CREATE TABLE tab01(name varchar(50),datetime default now()) DROP TABLE 数据表名称 (永久性删除一个数据表)
(6) 修改表的字段或者约束:alter table <表名> [add <新列名> <数据类型> [约束] ]
[drop <完整性约束>]
[alter column <列名> <数据类型>]
(7)聚集函数
count([DISTINCT ALL]*) 统计元素的个数 count([DISTINCT ] 列名) 统计一列中值得个数
sum([DISTINCT ] 列名) 统计一列值得总和 avg([DISTINCT ] 列名) 统计一列值的平均值
max([DISTINCT ] 列名) 统计一列中的最大值 min([DISTINCT ] 列名) 统计一列中的最小值
select 聚集函数 from ....
(8)连接查询
1、等值非等值连接
<表名1>.列名 (= > >= < <= !=)<表名2>.列名
例如:select student1.SNo , student2.Sname from student1,student2 where student1.Sno=student2.sno
2、自身连接
select first.Sno,second.Sname from student first,student second where first.Sno=second.number
3、外连接
组合输出,有时候一个表民不能显示所有的信息,那么就组合显示信息
select Student.SNo,Sname,Ssex,Sage,Sdept,Cno,Cname from Student left out join sc on(student.sno=sc.sno);
(9)group by
将查询结果按某一列或多列的值分组,值相等的为一组。
例如:Select Cno,Count(Sno) from SC group by Cno,将相同Cno分为一组,然后统计学生的人数
(10)嵌套查询
Select Sname from student where Sno (in,比较符) (select Sno from Sc where Cno='2')