去这个网站看看
http://www.microsoft.com/china/sql/default.asp
http://www.microsoft.com/china/sql/default.asp
解决方案 »
- 数据库编程提升
- 再再再问个简单问题。
- 請問有沒有什麼開關可以關閉在刪除一個數據後,聚集索引不會重排序?
- 求查询语句
- MSDTC 不可用是什么错误?
- 发现sql2005在停电时置疑的现象很多,sql2008是否有改进?
- How to Fixed Table Size in Reporting Service
- SQL基本查询语句问题请教:如何更新指定标识段的数据?
- 如何写这样的语句:某个字段列不要出现重复数据("YDBH"这个字段中),又要按照别外一个字段来排序!这样SQL语句如何来写!
- 求一sql语句 5点前结贴
- 简单的SQL查询的问题,请问这个如何实现!
- 两条记录合并成一条记录的SQL怎么写?详述..............
1、 SQL(Structured Query Language):结构化查询语言,是一种查询和执行语言,而非发展成熟的编程语言。通用,但各种数据库对其支持不同,一般90%~100%。
2、T-SQL(Tansact- Structured Query Language):SQL Server(SyBase)对SQL 进行了扩展(Oracle对其的扩展叫SQL*plus),增加了程序流控制结构(如IF~ELSE~等),局部变量(@variable_name)和允许DBA创建基于代码的对象(包括存储过程和触发器等功能。)各种数据库有所不同。
3、T-SQL语句至少包括一个关键字(指示某个操作的词)
4、SQL语句的执行过程:SQL语句提交给服务器,服务器对SQL语句进行整体语法分析、优化和编译,然后逐条语句执行。
语法分析时,先检索每个命令和关键字的语法,再验证表和字段名的有效性。二、语句及事例
1、 基本数据操纵SQL语句
(1) 查询数据:SELET ID,Name FROM WS_User
(2) 插入数据:INSERT INTO WS_User (ID,Name) VALUES(1, “JACK”)
(3) 更新数据:UPDATE WS_User SET Name = “Tom”
(4) 删除数据:DELETE WS_User WHERE Name = “Tom”
(5) 清空表格:TRUNCATE TABLE WS_User
注:TRUNCATE TABLE tablename 等同 DELETE tablename 但要快。
2、 扩展(按SQL命令关键字、按其他关键字<WHERE\ORDER BY>)
利用SQL命令关键字和扩展关键字可以实现复杂的、功能强大的查询。
(1) 查询数据(SELET):用于检索表和视图中的数据。T-SQL中,还可以检索系统中的信息并设置局部变量的值。(SELECT @@version、SELECT @VAR = “TOM JONE”、 SELECT ‘HELLO!’ 输出语句) SELECT [ ALL | DISTINCT ]
[ { TOP integer | TOP integer PERCENT } ]
< select_list >
[ INTO new_table ]
[ FROM { < table_source > } [ ,...n ] ]
[ WHERE < search_condition > ]
[ GROUP BY [ ALL ] group_by_expression [ ,...n ]
[ HAVING < search_condition > ]
[ ORDER BY order_expression [ ASC | DESC ] ]
1、 SELET * FROM WS_User
SELECT UserName,unit FROM WS_User2、 SELECT UserName unit FROM WS_User //将unit作为列UserName的列名,相当于
SELECT UserName AS unit FROM WS_User
[<、>、!=、<>、>=、<=、!<、!>] OR[AND]9、 SELECT * FROM WS_User WHERE unitcode BETWEEN 1000 AND 1200 \\包含端点值,相当于unitcode>=1000 AND unitcode<=1200 SELECT * FROM WS_User WHERE unitcode NOT BETWEEN 1000 AND 1200 \\不包含端点值,相当于unitcode<1000 OR unitcode>1200
10、 SELECT UserCode FROM WS_User WHERE UserCode [NOT] IN ('0004', '1002', '0007')11、 SELECT * FROM WS_User WHERE (UnitCode LIKE '100%') % 任意字符 SELECT * FROM authors WHERE (au_id LIKE '72_-%') _任意单个字符 SELECT * FROM authors WHERE (au_lname LIKE '[g]%')
[abc] 该位置只允许特定字符(例:”B[A-Za-z]ab”允许任意字符) SELECT * FROM authors WHERE (au_lname LIKE ' [^gwmdsr]%')
[^]任意一个未在方括号中列出的字符。注:通配符只有在LIKE关键字之后才有意义。否则当作普通实际字符处理。
12、 SELECT * FROM WS_User ORDER BY unitcode,usercode ASC [DESC]
ASC 默认 升序 DESC 降序14、SELECT Unit, UserName FROM WS_User GROUP BY Unit, UserName //用于分类统计。例:SELECT type,avg(price) “avg”,sum(price) “sum” FROM titles WHERE type IN (“business”,”mod_cook”)结果:type avg sum
business 13.73 54.92
mod_cook 11.49 22.98
\\ 获得多个结果集的逻辑联合。自动删除重复行,union all强制返回所有行。结果集必须有相同的字段数、字段类型(不必严格相同)。
(3) 插入数据(INSERT):为表加入数据 INSERT [ INTO] { table_name | view_name }
[ ( column_list ) ]
VALUES
( {expression } [ ,...n] )
1、 INSERT ws_user (username,unit) VALUES (“xue”,”soft-depart”) //单行
2、 INSERT INTO ws_user2
(UserName, Unit, Password, UserType, EncryptCode, UnitCode, UserCode)
SELECT UserName, Unit, Password, UserType, EncryptCode, UnitCode, UserCode FROM WS_User //多行
(4) 更新数据(UPDATE):修改表中的值,无限制的UPDATE语句修改表中的每一行。一次只可以更新一个表,但可以一次修改多个字段。 UPDATE { table_name | view_name }
SET{ column_name = { expression | DEFAULT | NULL }
{ [ FROM { < table_source > } [ ,...n ] ]
[ WHERE < search_condition > ] } 1、 UPDATE ws_user SET username = “quan” WHERE username = “xue” //单列2、 UPDATE ws_user SET username = “quan”
Unit = “unit”