SQL:结构化查询语言,是国际化标准组织采纳的标准数据库语言
作用:数据库管理员可以用利用次语言操作数据库系统,即:SQL是一种能够被数据库系统读懂的操作语言。
TSQL是微软公司针对SQL Server这种关系数据库所定义的一种SQL语言,用户可以完成Server数据库中的所有操作。
SQL的分类:
(1):数据定义语言,DDL
用来创建数据库和数据库中的各种对象
数据库中的对象包括:表、视图、索引、存储过程、触发器
DDL常用的命令包括:create、alter、drop
(2):数据操纵语言,DML
可以完成对数据库中数据的查询、更新、删除、插入的功能
DML常用的命令包括:select、update、delete、insert
(3)数据控制语言,DCL
DCL常用的命令包括:grant、revoke、deny
(4)数据类型
1、数字数据类型
a、整型数据类型:bigint、int、smallint、tinyint
b、浮点数据类型:float、real
c、固定精度数据类型:decimal、numeric
d、货币数据类型:money、smallmoney
将数据格式转换成字符串方法:STR(ID);---ID为数据类型,STR(ID)为字符串
2、字符数据类型:varchar、char、text、nchar、nvarchar、ntext
区别char和varchar数据类型:
char数据类型是存放固定长度的字符
Varchar数据类型是存放动态长度的字符
char(14),实际放入到数据库的字符长度为14个字符,如果实际存储的长度小于定义的长度,那么数据库会在次字符串后面加上3个空格
1、insert  语句:
insert语句是属于SQL语言中的DML
作用:为表插入数据
你向一个表中插入一条新记录,但有一个字段没有提供数据。在这种情况下,有下面的四种可能:
1、如果该字段有一个缺省值(默认值),该值会被使用。
2、如果该字段可以接受空值,而且没有缺省值,则会被插入空值。
3、如果该字段不能接受空值,而且没有缺省值,就会出现错误。你会收到错误信息:
The column in table mytable may not be null.
4、如果该字段是一个标识字段,那么它会自动产生一个新值。当你向一个有标识字段的表中插入新记录时,只要忽略该字段,标识字段会给自己赋一个新值。
使用INSERT语句向文本型字段中插入数据。但是,如果你需要输入很长的字符串,你应该使用WRITETEXT语句。
语法:insert  into  表名(列名1,列名2,..)  values(值1,值2,.)
注意:(列名1,列名2,..)可以不写,这样的话,插入的values(值1,值2,.)中的值必须包含表中的所有列,不然会报错。
把INSERT 语句与SELECT 语句结合起来,可以添加多个记录。这样:
代码:INSERT mytable (first_column,second_column)
SELECT another_first,another_second
FROM anothertable WHERE another_first=’Copy Me!’
这个语句从anothertable拷贝记录到mytable.只有表anothertable中字段another_first的值为’Copy Me!’的记录才被拷贝。
2、update  语句它也是属于SQL语句中的DML, 可以修改表的数据,使用WHERE子句来选择更新特定的记录
需要更新很长的字符串,应使用UPDATETEXT语句如果你不提供WHERE子句,表中的所有记录都将被更新。
语法:update  表名  set  列名1=值1,列名2=值2,……..[where  条件.]
update  student  set  sage=20  where  sno=s014----修改一列
update  student  set  sage=20,set  ssex= where sno=s014
----修改多列逗号隔开
3、delete语句也是属于SQL语句中的DML
作用:可删除表中的一行或多行,在SQL SELECT 语句中可以使用的任何条件都可以在DELECT 语句的WHERE子句 中使用。删除应该表中的所有记录,应使用TRUNCATE TABLE语句。
语法:delete  from  表名[where  条件.]
    delete  from  student----删除表student中所有数据
    delete  from  student  where  sno = s014----删除表student中编号是014的一行
    delete  from  student  where  sno >= s013 --删除表student中编号大于等于013的行
4、建立索引
Create INDEX index_name ON table_name (column_name)
说明:对某个表格建立索引后,数据库会对相应列进行自然排序,以增加查询时的速度。
4、基本查询技术
数据库中提供一种可以将表中的数据查询出来的技术,称为select查询
select查询技术的基本语法格式
select [列名1,列名2,..] | from 表名1,表名2
[where 条件]
[group  by分组的列名]
[having聚合函数比较操作]
[order  by  排序的列名]
(1)查询语句中的“*”号代表将表中的列全部显示出来
select  *  from  student
(2)如果只想在查询中显示某一列用:
select  sno  sname  sage  from  student
注意“*”和列名只能够二选一,不能够同时出现
(3)在查询的时候可以为表或者列定义别名
A:为列定义别名
select sno  as  学号  ,sname  as  姓名  from  student
或:select  学号=sno,  姓名=sname  from  student
B:为表定义别名
select  sno  sname  sage  ssex  from  student  a
    好处:当出现多张表联系起来作查询的时候,如果多张表中含有相同的列名的时候,为表定义别名使得查询比较方便
    例如:想查询课程是由哪些老师就是讲授的。
    从课程course表和老师teacher表中查车tno列相同的数据
select  cname, tname, from  course  a , teacher  b
where  a.tno = b.tno
(4)distinct 关键字
此关键字是为了去掉列中重复的值, 对于所有重复的数据行在SELECT返回的结果集合中只保留一行。
    select  distinct  sno  from  sc
(5)order by 排序(默认升序)
    语法:order  by  列名[desc | asc]
desc:代表降序排列
asc  代表升序排列
select  *from  student  order  by  sname
如果不写排序关键字,默认的是升序
select  *from  student  order  by  sname  desc
(6)where关键字使用
    Where作为查询筛选结果的一个过程(非常重要)
语法:where  条件1[or | and]  [条件2]
条件1可以包括以下内容:
    Where  列名1  <expression>  列名2 | 数值
(7)top n限制返回的行数
使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。
例如:
代码:SELECT TOP 2 * FROM `testtable`
代码:SELECT TOP 20 PERCENT * FROM `testtable`
条件表达式分类
1、比较条件:
(>:大于  <:小于  >=:大于等于  =<:小于等于  <>:不等于  =:登于)
例如:学生年龄大于23岁的同学信息
select  *from  student  where  sage>23
2、逻辑条件
(and:与运算  or:或运算  not:非)
逻辑操作的用法:
Where  条件1<and | or | not>条件2
例如:查课程编号大于c002的课程由哪些老师讲授
sSelect *from teacher ,course = and sourseo > c002
例如:查选修了课程c002,或者成绩大于70的学生有哪些
select  sname , sage , cno ,score  from  student  a , sc  b
where  a.sno = b.sno  and  (cno=c002 or score>70)
例如:not关键字的使用:
select  *from  sc  where  score  not  between  70 and 80
3、in关键字
它是要求查询的结果在某几个值里面
select  *from  sc  where  score  not  in(70,90,80)
select  *from  course  where  cno  in  (c001,c002,c005)
in还可以应用到子查询中
select  *from  sc  where  sno 
in  (select  sno  from  student  where  sno >= s002)
4、like关键字
like是作为SQL模糊查询比较常用的一个技术,在like关键字使用中提出两个比较特殊的符号
%:0个或多个任意字符
_:任意一个字符
sql中delete用法

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。