sql语句学习笔记(5) sql语法
1.sql是一种脚本语言
2.sql可写脚本程序,但最重要的作用发挥在对数据库的操作上
3.sql server2005中的注释有两种/***/多行注释,--可以单行注释
4.sql中的自定义变量以@开头,系统变量以@@开头
5.sql中声明变量和VB类似,使用declare声明变量如:declare @i int,@j int,此语句声明了2个整形变量@i和@j
6.sql中的数据类型和数据库中的类型一样,注意区别char(固定Ascii编码长度的字符),varchar(可变的ascii编码长度),nchar(固定的unicode编码)和nvarchar(可变的unicode编码)这几个类型
比如:
declare @ s1 char(10)
declare @s2 varchar(10)
如果给以上2个变量都赋值abc,则写进数据库时,@s1写的就是abc+7个空格,而@s2写的只是abc
再比如:declare @s1 varchar(4),@s2 nvarchar(4),
set @s1='中国’正确,但set @s1=“中国人'错误 ,@s1最多可以放4个字符或2个汉字(一个汉字占2个字符)
而@s2可以最多可以放8个字符或4个汉字(这也就体现了ascii和unicode编码的区别)
7.sql中有if条件判断,无swith判断,但又case...when(较少用)
8.循环使用while,无for
9.循环体用begin开始,end结束
以下是我的学习笔记,语法部分有注释说明:(实现环境:sql server2005)
/******************************
sql脚本语言学习(1)
******************************/
--(1)
--计算1+2+3+...+100的和
declare @i int--声明一个整型变量,自定义变量均以@开头,系统变量由@@开头
declare @sum int--sql中声明变量类似VB :dim i as int
set @i=100--对变量赋初值时使用set或select(查询时赋值)
set @sum=0
while(@i>0)--sql中没有for循环,循环体使用begin开始 end结束,类似VB
begin
set @sum=@sum+@i
set @i=@i-1
end
print @sum--输出语句用print
--(2)打印三角形
/****************************************
* 2*1-1 4
*** 2*2-1 3
***** 2*3-1
相关文档:
--------检测数据库是否存在
use master
go
if exists(select * from sysdatabases where name='DBName')
drop database DBName
-----创建数据库
create database DBName
on
(
/*数据文件的具体描述*/
name='DBName_data', -----主数据文件的逻辑名称
filename='D:\project\DBName_data.mdf', ......
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2010 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varch ......
一、问题引出:
当某一台SQL Server实例上创建有多个数据库的时候,如果某一个数据库过度占有系统资源,往往会导致其它数据库性能受到严重影响,甚至大大降低整个数据库的性能。
这种情况下,如果有一种技术或者方法可以限制数据库资源的占有量,给与一个峰值,从而给与其它的数据库足够的资源。那么这个问题就可 ......
原文转自 http://blog.csdn.net/jyh_jack/archive/2008/04/07/2257512.aspx
SQL Native Client ODBC Driver
标准安全连接
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
您是否在使用SQL Server 2005 Express? 请 ......
SQL获取所有数据库名、表名、储存过程以及参数列表
1.获取所有数据库名:
(1)、Select Name from Master..SysDatabases order by Name
2.获取所有表名:
(1)、Select Name from SysObjects Where XType=''U'' orDER BY Name
XType='' ......