Insert   插入数据行

Insert  [into]  <表名>  [列名]  values  <值列表>

Eg: insert into student (name,address,grade,email)

    Values(‘张三’,‘上海’,6,‘ZQC@sohu’)

Insert 语句不能为标识列指定值,自增长的,不能插入

 

一次插入多行数据的三种方法:

1.    预先创建好表

Insert into新表 (列名) select列名from原始表

  Eg: insert into Tongxuelu (姓名,地址,电子邮件)

      Select  name,address,email  from  student

2.    运行过程中直接生成新表

Select 表名.列名 into 新表 from 原始表

  Eg:select name,  address, email into tongxuelu from student

插入标题列的语法:

Select 表名.列名 identity数据类型,标识种子,标识增长量)  AS 列名 into 新表 from  原始表  

    Eg:select name, address, email, identity (int,1,1)  as studentID  into tongxuelu  from  student

3.    Union语句用于将两个不同的数据或查询结果组合成一个新的结果集。

     

         Select  ‘张可’,7,1  union

         Select ‘李杨’,4,0 union

         Select  ‘杨晓’,2,0 union

         Select  ‘汤美’,3,0 union

         Select  ‘陈刚’,4,1 union

这样的结果与insert。。。select 的结果是一样的。


1.delete

delete  表名>  [where<删除条件>]

  eg:delete  from  student  where  name=‘张三’

 注:delete  与 from 连用,中间不能插入内容。

2.Truncate table   

Truncate  table  <表名>

     Eg:truncate  table  student

   注:此语法用于删除表中的所有行,且不能用于有外键约束应用的表,否则需要使用delete 语句。


Update

Update表名>  set  <列名=更新值>  [where<更新条件>](多个更新条件用and/or 连接)

and /or



*查*

select列名> from表名> [where<查询条件表达式>] [order by排序的列名>[asc或desc]]

 

1.查询所有的数据行和列

Select * from  student(表名)

 2.查询部分行列——条件查询

      Eg: select  code,name,address   from   student  where address=‘河南新乡’

  3.在查询中使用列名

   AS子句可以用来改变结果集列的名称,也可以为组合或者计算出的列指定名称,还有一种情况是让标题列的信息更易懂。

      Eg: select code as 学员编号,name as学员姓名,address as 学员地址   from  student  where address = ‘河南新乡’

4.查询空行

采用“is null”或者“is not null”

   Eg: select name from student where email is null/is not null

5.在查询中使用常量列

   Eg: select 姓名=name,地址=address,‘河北新龙’ as 学校名称  from  student

      查询输出多了一列“学校名称”,该列的所有数据都是“河北新龙”。

6.查询返回限制的行数

 Eg:  select   top 5/20 percent   name,address/*  from student  where sex=1

7.查询排序

    Eg: Select  studentID  as 学员编号,(score*0.9+5) as 综合成绩 from score where (score*0.9+5)>60  order by score  asc/desc

8.在查询中使用函数

  函数分为:

a.     字符串函数: charindex、len、ltrim、rtrim、replace、stuff

b.    日期函数:     getdate  dateadd  datediff  datename  datepart

c.     数学函数:    ceiling  floor  round

d.    系统函数:    convert

9.模糊查询

a. like

   eg: select * from card where id like ‘00[^8]%[a,c]’

      [^] 不在括号中所指定范围内的任意一个字符

      [ ] 括号中所指定范围内的一个字符

b. between…and

   eg:select * from score where score between 60 and 80

      包括60 和80

c. in/not in 在列举的条件内进行查询

  eg:select name as 学员姓名 from student where address in/not in  (‘北京’, ‘上海’, ‘广州’)

10.聚合函数

 a.sum(和)

     eg:select sum (sales) as 销售业绩 from titles where type = ‘business’

 b.avg(平均数)

     平均成绩 from score where score >=60

c.max(最大值),min(最小值)

      eg:select  avg(score) as 平均成绩,max(score) as 最高分,min(score)as 最低分  from score  where score >=60

 d.count非空值的计数,最后得到的是一个数值

    select  count(列名/*) from 表名  where 查询条件

   eg:select count (*)  as  及格人数 from score where score>=60