码迷,mamicode.com
首页 > 数据库 > 详细

一些经典===>>用SQL语句操作数据

时间:2015-11-04 14:47:59      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

 用SQL语句操作数据

结构化查询语言(Structured Query Language)简称SQL(发音:/?es kju? ?el/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

01.SQL语句书写规范

  1.在SQL Sever中,SQL语句不区分大小写(数据库名,表名,列名,关键字) ,SQL编译器都识别

  2.对表进行操作的时候,一定要使先用use关键字切换到对应的数据库

  3.自增列不可以赋值

  4.字符串和日期类型都需要单引号
  5.起表名的时候,千万不要起得太好,例如不要使用User作为表名。
     如果表名和关键字重复了,我们可以通过[]取消转义

  6.通过Ctrl+R:可以显示和隐藏结果集窗口

02.新增数据注意事项

  01.如果新增全部列,那么表名后可以不跟列名,但是要提供所有列的值,除非当前

  列有默认值,那么也要给出default关键字。

  02.如果只想给一张表中添加部分列,那么在表名后要跟上列名,并且需要保证除了你给出

  的列的值之外,其他列都允许为空或者有默认值。

  03.自增列不能赋值哟!

eg:

insert into goodPerson(stuName,stuAge,Email) 
values(张晓玲,20,default)   --Email为自增列,且有ID列为自增列,我没有给它赋值,记住哟!

03. 一次性向一张表中插入多条数据的解决方案

方案一:insert into 目标表

           select  * from 原表

 注意事项:如果目标中有自增列,那么不能使用*号。

 eg:

insert into goodPerson2 
select  StuName, stuAge, stuAddress, stuLike, stuWishes from goodPerson
delete from goodperson2

方案二:select *  into 目标表(不存在)

            from 原表

 注意事项:该方式只保留了数据和子自增列,但是主键等约束就都没有了。

 eg:

select * into goodpersonbak
from goodperson

 

  方案三(较常用):

 eg:

 insert into 目标表(存在)
 select 高一二班 union
 select 高一五班

04. 使用T-SQL更新数据

 1.以后大家见到update语句,一定要跟where条件,打死也要跟。

 2.在SQL Server中null代表不知道,所以如果where后的限定条件不能用=和null做对比,必须使用is null

 eg:如果要查找Email为null的学生信息.

 

select *from Student
where Email is null  --切不可写成where Email=null

 更新数据语法: update 表名 set 列名 =更新值 [where 更新条件]

eg1:在学生表中,把所有你的学生的性别改为0(女)

update Student set SSex=0

eg2:更新"成龙"为‘李小龙‘

update Student set name=‘李小龙‘

where name=‘成龙‘ 

eg3:将"成龙" 改成"李小龙"且年龄改为25

update goodpersonbak set stuname=‘李小龙‘,age=25

where stuname=‘成龙‘ 

05. 别名的使用

别名方案一:
select msgAuthor as 留言人,msgContent as 留言内容
from Message

别名方案二:

select msgAuthor  留言人,msgContent  留言内容
from Message

别名方案三:
select 留言人=msgAuthor,留言内容=msgContent
from Message

将多列合并成一列显示
select msgAuthor+‘____‘+msgContent as 留言人说的留言是一种留言留言
from Message

05.delete和truncate删除键的使用

01.delete 后可以跟where条件,而truncate不行

02.delete删除数据的时候会记录日志,而truncate不会

03.delete删除表中所有数据库,id编号不会从1开始,而truncate会。

 先说到这里了!下次再谈!!!!拜!

一些经典===>>用SQL语句操作数据

标签:

原文地址:http://www.cnblogs.com/zhangzongle/p/4935711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!