sql脚本语法
步骤:(1) 创建一个批处理文件:打开记事本,创建数据库连接信息(例如,server name,username,password,databasename等)以及要执行的*.sql脚本名称。具体语法参考下文"osql 实用工具" 。 将文件的扩展名改为.bat 并保存。
示例1:指定待执行sql 文件的相对路径
osql -S admin\admin -U sa -P sa -d TestDB -i c:\test.sql
pause
示例2: 待执行文件与bat文件在同一个目录,指定相对路径
set localdir=%~dp0
osql -S (local) -U sa -P sa -d Test -i %localdir%\test1.sql
osql -S (local) -U sa -P sa -d Test -i %localdir%\test2.sql
osql -S (local) -U sa -P sa -d Test -i %localdir%\test3.sql
pause
(2) 创建需要执行的sql 脚本, test.sql,test2.sql 和test3.sql, 并放在步骤(1)示例1中指定的位置。本例为c:\ 根目录。如果用示例2,将待执行的sql和bat文件放在同一个目录下。
(3) 双击*.bat 文件并查看运行结果。
Ⅱ sql server 2000如何执行sql脚本
在查询分析器里,
先连接到b数据库
然后用查询分析器打开a.sql或者用记事本打开拷贝到查询分析里,执行!
Ⅲ 求SQL语法,就语法不要文字
1.创建表
(1)用Create Table 命令创建表
语法:
Create Table tabl_name
({
}column_name As computed_column_expression
}
}[,...n]
)
[On {fiegroup | Default}]
[Textimage_On {fiegroup | Default}]
例子:
打开cust数据库,创建一个表,该表包含了学生的有关信息,即有学号、姓名、性别、出生日期、籍贯、联系电话、住址和备注信息。
Use cust
Create Table students
(
number int not null,
name varchar(10) not null,
sex char(2) null,
birthday datetime null,
hometown varchar(30) null,
telphone_no varchar(12) null,
address varchar(30) null,
others varchar(50) null
)
在这个表中number表示学生代号,数据类型为int,不允许为空;name表示学生姓名,数据类型为varchar,长度为10,不允许为空;sex表示学生的性别,数据类型为char,长度为2,允许为空;birthday表示学生的出生日期,数据类型为datetime,允许为空;hometown表示学生的籍贯,数据类型为varchar,长度为30,允许为空;telephone_no表示学生的联系电脑,数据类型为varchar,长度为12,允许为空;address表示学生的住址,数据类型为varchar,长度为30,允许为空;others表示学生的备注信息,长度为50,允许为空。
2.修改表的结构
(1)使用T-SQL语句增加和删除一个新列
语法:
Alter Table table
{
ADO
{[]
|colun_name As computed_column_expression
|[]
}[,...n]
|Drop
{Column column
}[,...n]
}
例子:打开cust数据库,修改其中的表students的结构,增加一个新字段,字段名为ying,数据类型是varchar,长度是10,没有默认值,充许为空。
Use cust
Alter Table students Add ying varchar(10) null
打开cust数据库,修改其中的表students的结构,删除一个字段,字段名为ying。
Use cust
Alter Table students Drop Column ying
3.向表中插入数据
(1)用 Insert 语句
语法如下:
Insert [Into]
{table_name|view_name}[(column_list)]
{Values|values_list|select_statement}
注意:在插入数据时,字符数据和日期数据要使用引号引起来。
例子:
Use cust
Insert Into students
Values (11,"影子","男","1999-12-12","湖北","83779805","武汉市桥口区","VB爱好者")
打开cust数据库,向students表中插入数据
(2)用Default 选项
在插入数据时,可以使用Default选项。Default选项有两种形式,一种形式是Default Values,另一种是Default。
Default Values
形式为表中的某一行的所有列插入默认值。使用这种形式的前提条件是表中的所有列必须是这四种类型之一:Identity属性,Timestamp数据类型,允许为Null,或者有一个指定的默认值。否则,会错误信息。
例子:
Use cust
Insert Into students Default Values
这个例子会出现错误,因为students表的number字段是设置为不允许为空的。
Default 形式是为表中的某一列插入默认值。要插入的该列必须具备一定的条件,即该列要么是Timestamp
数据类型,要么是允许为Null,要么是有一个指定的默认值,否则,会出现错误信息。
例子:
Use cust
Insert Into students
Values(11,"影子",Default,Default,Default,Default,Default,Default)
由天前2个字段不能为空,所以要赋值,否则会出现错误,而后面的6个字段允许为空,因此可以调用Default默认。
(3)插入部分数据
在使用Insert语句插入数据是,还可以插入部分数据,也就是可以为每一行的指定的部分列插入数据。在插入部分数据时,应该注意以下三个问题:
☆在 Insert 子句中,指定要插入数据的列名。
☆在 Values 子句中,列出与列名对应的数据。列名的顺序和数据的顺序应该完全对应。
☆在 Insert 子句中,没有列出的列应该至少具有这四种类型之一:Identtty 属性,Timestamp 数据类型,允许为
Null,或者有一个指定的默认值。否则,会出现错误信息。
例子:
Use cust
Insert Into students (number,name)
Values (110,"影子")
打开cust数据库,向students表中插入一行数据
注意:如用下例语句将发生错误,因为name字段是不允许为空的(在创建数据库时设定的)
Insert Into students (number)
Values (110)
(4)用 Select 语句插入多条数据
Insert 语句插入数据的特点是每一次只能插入一行数据。相反,Select 也可以用在 Insert 语句中,并且可以一次插入多条数据。使用 Select
语句插入数据的语法形式如下:
Insert table_name
Select column_list
From table_list
Where search_conditions
在使用 Select 语句插入数据时,应该注意下面几点:
☆在 Insert 语句中使用 Select 时,他们参考的表既可以是相同的,也可以是不同的。
☆要插入数据的表必须已经存在。
☆要插入数据的表必须和 Select 的结果集兼容。兼容的含义是列的数量和顺序必须相同,列的数据类型或者相同,或者SQL Server 可以自动转换。
例子:
Use cust
Insert students
Select number,name,sex,birthday,hometown,telphone_no,address,others
From students
注意:
Select 后面的字段要输完整,这个例子是自己向自己插入多条数据(自己向自己插入是被允许的)
补充:
你还可以“From students”后面加上“Where name="影子"”,只插入name等于影子的记录,可以用And 和 Or 加上多个条件。
(5)使用 Select Into 插入数据到一个新表中
带有 Into 子句的 Select
语句允许用户定义一个新表并且把数据插入到新表中。这种方法不同于前面讲述的那些方法。在前面的那些方法中,一个共同的特点,是在数据输入之前表已经存在。而使用
Select Into 插入数据的方法,是在插入数据的过程中建立新表。
Select Into 语句的语法如下:
Select select_list
Into new_table_name
From table_list
Where search_conditions
在使用 Select Into 插入数据时,要注意下面几点:
☆在某个数据库中使用 Select Into 插入数据时,设置该数据库的 Select Into/Bulk Copy 为真。
☆新表不能存在,否则会产生错误信息。
☆新表中的列和行是基于查询结果集
☆要插入的数据不记录在日志中。
☆在select_list 中出现的列应该使用别名,否则,新表中的列没有列名。没列名的表只能通过 Select * From new_table_name
的形式查询。因此,应该为列起个别名。
☆这种方法多用在对列进行各种计算的情况。
例子:
Select number,name
Into newcust1
From students
创建新的表newcust1,插入students表中的number和name字段的所有数据。
补充:如果要插入所有字段的记录,则“Select *”,也可在“From students”后加条件,方法和上个例子一样。
(6)用 UPdate 语句修改表中的数据
Update 语句用来修改表中已存在的数据。Update 语句既可以一次修改一行数据,也可以一次修改许多行,甚至可以一次修改表中的全部数据。Update
语句使用 Where 子句指定要修改的行,使用 Set 子句给出新的数据。新数据可以是常量,也可以是指定的表达式,还可以是使用 From 子句来自其他表的数据。
Update 语句的语法如下:
Update {table_name|view_name}
Set {column_list}=expression [,. . .]
[Where clause]
在使用 Update 语句时,如果没有使用 Where 子句,那么就对表中所有的行进行修改。如果使用Update
语句修改数据时与数据完整性约束有冲突,那么修改就不会发生,整个修改事务全部滚回。例如,这种冲突可能是所输入的值是错误的数据类型,或者所输入的值违背了在该列定义的规则约束,等等。
例子:
Use cust
Update students
Set name=name+"007"
Where number>100
打开cust数据库,修改students表,使number>100的数据的name的值全部加"007"。
4.用 Delete 语句删除表中的数据
当数据库中的数据不需要的进修可以删除。一般情况下,删除数据使用 Delete 语句。Delete 语句可以一次
回答者: yeqiezi - 高级经理 六级 2-5 08:46
我来评论>>
评价已经被关闭 目前有 1 个人评价
好
0% (0)不好
100% (1)
相关内容
• 谁能把SQL的入门以及下载地址和基本操作详细说下谢谢
• 谁能帮我做一个以SQL的数据库为底本,用C,C++或VB实...
• access导入MSSQL 后查询表不能正常怎么办
• Sql存储过程问题,求高手解决
• SQL Server 2005数据库管理与应用高手修炼指南 pdf 下载
更多相关问题>>
查看同主题问题:基本操作
其他回答 共 3 条
select
回答者: catjj1748 - 魔法师 五级 2-5 08:52
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not
null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:
删除新表:drop table tabname
6、说明:
增加一个列:Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:
添加主键:Alter table tabname add primary key(col)
说明:
删除主键:Alter table tabname drop primary key(col)
8、说明:
创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:
创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count * as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、说明:几个高级查询运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION
一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时
(EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT
一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left outer join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full outer join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
其次,大家来看一些不错的sql语句
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
法二:select top 0 * into b from a
2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..
4、说明:子查询(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where
a IN (1,2,3)
5、说明:显示文章、提交人和最后回复时间
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate
from table where table.title=a.title) b
6、说明:外连接查询(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
7、说明:在线视图查询(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;
8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2
9、说明:in 的使用方法
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)
10、说明:两张关联表,删除主表中已经在副表中没有的信息
delete from table1 where not exists ( select * from table2 where
table1.field1=table2.field1 )
11、说明:四表联查问题:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner
join d on a.a=d.d where .....
12、说明:日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5
13、说明:一条sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名
b where b.主键字段 = a.主键字段 order by a.排序字段
14、说明:前10条记录
select top 10 * form table1 where 范围
15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where
tb.b=ta.b)
16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
(select a from tableA ) except (select a from tableB) except (select a from
tableC)
17、说明:随机取出10条数据
select top 10 * from tablename order by newid()
18、说明:随机选择记录
select newid()
19、说明:删除重复记录
Delete from tablename where id not in (select max(id) from tablename group by
col1,col2,...)
20、说明:列出数据库里所有的表名
select name from sysobjects where type='U'
21、说明:列出表里的所有的
select name from syscolumns where id=object_id('TableName')
22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when
'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM
tablename group by type
显示结果:
type vender pcs
电脑 A 1
电脑 A 1
光盘 B 2
光盘 A 2
手机 B 3
手机 C 3
23、说明:初始化表table1
TRUNCATE TABLE table1
24、说明:选择从10到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名 order
by id desc
随机选择数据库记录的方法(使用Randomize函数,通过SQL语句实现)
对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见的解决方案是建立如下所示的循环:
Randomize
RNumber = Int(Rnd*499) +1
While Not objRec.EOF
If objRec("ID") = RNumber THEN
... 这里是执行脚本 ...
end if
objRec.MoveNext
Wend
这很容易理解。首先,你取出1到500范围之内的一个随机数(假设500就是数据库内记录的总数)。然后,你遍历每一记录来测试ID
的值、检查其是否匹配RNumber。满足条件的话就执行由THEN 关键字开始的那一块代码。假如你的RNumber
等于495,那么要循环一遍数据库花的时间可就长了。虽然500这个数字看起来大了些,但相比更为稳固的企业解决方案这还是个小型数据库了,后者通常在一个数据库内就包含了成千上万条记录。这时候不就死定了?
采用SQL,你就可以很快地找出准确的记录并且打开一个只包含该记录的recordset,如下所示:
Randomize
RNumber = Int(Rnd*499) + 1
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber
set objRec = ObjConn.Execute(SQL)
Response.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email")
不必写出RNumber
和ID,你只需要检查匹配情况即可。只要你对以上代码的工作满意,你自可按需操作“随机”记录。Recordset没有包含其他内容,因此你很快就能找到你需要的记录这样就大大降低了处理时间。
再谈随机数
现在你下定决心要榨干Random 函数的最后一滴油,那么你可能会一次取出多条随机记录或者想采用一定随机范围内的记录。把上面的标准Random
示例扩展一下就可以用SQL应对上面两种情况了。
为了取出几条随机选择的记录并存放在同一recordset内,你可以存储三个随机数,然后查询数据库获得匹配这些数字的记录:
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR ID = " & RNumber2 &
" OR ID = " & RNumber3
假如你想选出10条记录(也许是每次页面装载时的10条链接的列表),你可以用BETWEEN
或者数学等式选出第一条记录和适当数量的递增记录。这一操作可以通过好几种方式来完成,但是 SELECT 语句只显示一种可能(这里的ID 是自动生成的号码):
SQL = "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber & " AND " & RNumber
& "+ 9"
注意:以上代码的执行目的不是检查数据库内是否有9条并发记录。
随机读取若干条记录,测试过
Access语法:SELECT top 10 * From 表名 ORDER BY Rnd(id)
Sql server:select top n * from 表名 order by newid()
mysql select * From 表名 Order By rand() Limit n
Access左连接语法(最近开发要用左连接,Access帮助什么都没有,网上没有Access的SQL说明,只有自己测试, 现在记下以备后查)
语法 select table1.fd1,table1,fd2,table2.fd2 From table1 left join table2 on
table1.fd1,table2.fd1 where ...
使用SQL语句 用...代替过长的字符串显示
语法:
SQL数据库:select case when len(field)>10 then left(field,10)+'...' else field end
as news_name,news_id from tablename
Access数据库:SELECT iif(len(field)>2,left(field,2)+'...',field) FROM tablename;
Conn.Execute说明
Execute方法
该方法用于执行SQL语句。根据SQL语句执行后是否返回记录集,该方法的使用格式分为以下两种:
1.执行SQL查询语句时,将返回查询得到的记录集。用法为:
Set 对象变量名=连接对象.Execute("SQL 查询语言")
Execute方法调用后,会自动创建记录集对象,并将查询结果存储在该记录对象中,通过Set方法,将记录集赋给指定的对象保存,以后对象变量就代表了该记录集对象。
2.执行SQL的操作性语言时,没有记录集的返回。此时用法为:
连接对象.Execute "SQL 操作性语句" [, RecordAffected][, Option]
•RecordAffected
为可选项,此出可放置一个变量,SQL语句执行后,所生效的记录数会自动保存到该变量中。通过访问该变量,就可知道SQL语句队多少条记录进行了操作。
•Option
可选项,该参数的取值通常为adCMDText,它用于告诉ADO,应该将Execute方法之后的第一个字符解释为命令文本。通过指定该参数,可使执行更高效。
•BeginTrans、RollbackTrans、CommitTrans方法
这三个方法是连接对象提供的用于事务处理的方法。BeginTrans用于开始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的事务处理结果,即确认事务的处理。
事务处理可以将一组操作视为一个整体,只有全部语句都成功执行后,事务处理才算成功;若其中有一个语句执行失败,则整个处理就算失败,并恢复到处里前的状态。
BeginTrans和CommitTrans用于标记事务的开始和结束,在这两个之间的语句,就是作为事务处理的语句。判断事务处理是否成功,可通过连接对象的Error集合来实现,若Error集合的成员个数不为0,则说明有错误发生,事务处理失败。Error集合中的每一个Error对象,代表一个错误信息。
Ⅳ sql 语句大全
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:删除新表
drop table tabname
6、说明:增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
8、说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、说明:几个高级查询运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left (outer) join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right (outer) join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full/cross (outer) join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
12、分组:Group by:
一张表,一旦分组 完成后,查询后只能得到组相关的信息。
组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)
在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据
在selecte统计函数中的字段,不能和普通的字段放在一起;
13、对数据库进行操作:
分离数据库: sp_detach_db;附加数据库:sp_attach_db 后接表明,附加需要完整的路径名
14.如何修改数据库的名称:
sp_renamedb 'old_name', 'new_name'
Ⅳ sql脚本和sql语言有什么区别
sql脚本是有sql语言构成。
sql语句和sql脚本语法一样,一般sql语句都是用来完成一个简单的功能。
其实单个sql语句亦是sql脚本。
Ⅵ sql脚本文件的语法规则
you can find all in sql help
Ⅶ sql数据库脚本就是指sql语句吗,附加上数据库后如何查看脚步呢
脚本也可以说是SQL
语句
脚本一般是指对数据库对象进行操作的SQL语句。一般是DDL
不知道你是要查看附加数据库的脚本,还是查看数据库表结构的脚本。
如果是数据库表结构的脚本,右键点数据库/任务/生成脚本
然后一步步根据提示操作。
Ⅷ SQL语法范例大全的前 言
数据库技术已成为信息时代计算机技术的重要组成部分,而目前广泛使用的关系数据库已经成为数据库系统的主流,SQL(Structured Query Language,结构化查询语言)是关系数据库系统最常用的语言。
本书全面系统地介绍了SQL的基本语法,并以目前流行的数据库SQL Server 2005/2008和Oracle 9i/10g/11g为基础,结合作者多年的数据库系统管理经验,介绍了用SQL管理和开发这两大关系数据库的实际应用操作,包含了大量的应用示例,可供读者在学习和工作中引用。
本书读者
本书内容涵盖了与数据库系统管理和开发有关的常见内容和操作,非常适合需要使用SQL的各层次的读者,包括下列使用对象:
(1)SQL的初学者和计算机爱好者
本书讲述了SQL大量的基础内容,又有大量示例,非常适合初学者使用。
(2)高等学校或职业技术学校计算机专业教师和学生
本书讲解由浅入深,非常适合高等学校和职业技术学校计算机专业教师和学生学习和参考使用。
(3)数据库管理及其应用、软件设计和开发人员
本书介绍了SQL语句在两种主流关系数据库SQL Server和Oracle中的实现,同时,介绍了在进行数据库管理中通常需要的SQL脚本操作,可作为数据库管理及开发人员的参考手册。
(4)系统分析人员
数据库规划和管理技术是系统分析人员应该掌握的重点内容,本书介绍了各类常见关系数据库的基础知识,并分析和比较了它们之间的主要特点和异同点,同时也介绍了SQL在数据库系统分析中的编程知识,因此该书也可以作为系统分析人员重要的参考资料。
本书特点
(1)结构清晰,内容全面
本书按照关系数据库基础、SQL基础、SQL与关系数据库的关系、SQL语法、SQL扩展、SQL编程、SQL在数据库中的应用和资料速查内容为线索进行介绍,采用“方法、语法、示例、运行结果、注意事项”的顺序结构进行阐述,具有很强的条理性和易读性。
(2)方法多样,实例丰富
本书针对特定的知识点介绍了能实现特定功能的各种方法,包括数据库的企业管理器工具法、SQL命令法等,目的是让读者既能掌握SQL语法知识,又能掌握数据库的操作技能,而且还能比较同一种功能采用多种实现方法的异同点,掌握在SQL Server和Oracle这两种数据库环境下SQL的差别。
本书共包括大小实例721个,使读者在学习SQL原理的同时能够掌握其用法,大部分实例还可以用于SQL Server和Oracle数据库的实际管理,这些实例是作者多年从事数据库和类UNIX系统管理的经验积累,具有相当大的使用价值。
(3)既可以作为教材使用,又可以通过手册进行快速查阅
本书以教材的形式全面系统地介绍了SQL以及SQL Server和Oracle数据库系统管理的知识点,同时,又在实现方法、SQL语法、SQL语句、SQL函数、数据库系统参数和应用示例等方面提供了详细的介绍,并且提供快速索引,方便读者查阅。
综上所述,与其他同类书籍相比,本书具有方法全、内容全、实例全、参数全、查阅全的典型特点。
本书内容
本书内容涵盖了SQL、关系数据库基本理论、SQL Server数据库、Oracle数据库、MS VS.NET等数据库软件开发平台和工具的知识点与实际应用操作。
全书包括附录共分为8大部分,共29章。
第1篇 SQL及关系数据库概述(第1章~第3章)
第1章 关系数据库概述。主要介绍了数据库和关系数据库的基本概念、关系模型以及两种关系数据库:桌面关系数据库和网络关系数据库和常用的10种关系型数据库系统
第2章 SQL概述。介绍了SQL的概念、基本功能、SQL标准和版本、SQL基本语法
第3章 SQL扩展、工具及范例数据库介绍。介绍了常用的关系数据库系统SQL Server和Oracle的基本情况及其支持的SQL扩展语言Transact-SQL和PL/SQL的基本概念和主要内容。同时介绍了Transact-SQL和PL/SQL的支持环境和常用工具的用法,包括SQLCMD、SQL Server查询分析、Oracle企业管理器EM、Oracle SQL * Plus、iSQL * Plus、PL/SQL Developer和TOAD专业工具
第2篇 SQL运算符和函数(第4章~第5章)
第4章 SQL运算符。介绍了SQL的各种操作运算符,包括算术、字符串、赋值、比较、逻辑、集合和一元运算操作符
第5章 函数。介绍了算术、字符、日期、类型转换、统计(聚合)函数和两种数据库的常用系统函数
第3篇 数据查询操作(第6章~第9章)
第6章 简单查询。介绍了SQL查询语句(SELECT语句)的基本语法结构和执行步骤、常用的简单查询操作
第7章 连接查询。介绍了表的自连接、自然连接、内连接和外连接。其中内连接介绍了等值连接和不等值连接两种基本形式;外连接介绍了左外连接、右外连接和全外连接
第8章 集合查询。介绍了并集、交集和差集的基本概念和应用操作
第9章 子查询。介绍了子查询的基本概念和操作,包括单行、多行、多列、相关和嵌套子查询等内容
第4篇 数据更新操作(第10章~第15章)
第10章 数据库操作。介绍了数据库的创建、查找、修改和删除的几种实现方法以及SQL语句操作
第11章 方案操作。介绍了方案的创建、查找、修改和删除的几种实现方法以及SQL语句操作
第12章 数据表操作。介绍了数据表、表记录、表结构的创建、查找、修改、复制和删除的几种实现方法以及SQL语句操作
第13章 索引操作。介绍了索引的创建、查找、修改、禁用、启用和删除的几种实现方法以及SQL语句操作
第14章 视图操作。介绍了视图的创建、查找、修改和删除的几种实现方法以及SQL语句操作
第15章 序列操作。介绍了序列的创建、查找、使用和删除的几种实现方法以及SQL语句操作
第5篇 数据安全管理(第16章~第19章)
第16章 完整性约束。介绍了与表有关的约束:NOT NULL约束、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY约束和CHECK约束、域约束以及断言的创建、查找、修改、使用和删除的几种实现方法以及SQL语句操作
第17章 用户管理。介绍了用户的创建、查找、修改、删除的几种实现方法和SQL语句操作以及权限的查找、授权、收回等操作
第18章 角色管理。介绍了角色的创建、查找、修改、删除的几种实现方法和SQL语句操作以及权限的查找、授权、收回等操作
第19章 权限管理。介绍了权限的分类、查找、授权、收回等操作
第6篇 SQL编程(第20章~第25章)
第20章 事务控制与并发处理。介绍了事务的概念、事务控制的实现以及多用户读写访问数据库的并发控制、事务的开始和终止操作,最后还介绍了在SQL Server和Oracle数据库中并发控制的具体应用、实现和比较
第21章 存储过程。介绍了存储过程的创建、查找、修改、调用、重编译、删除的几种实现方法和SQL语句操作,还详细介绍了存储过程在SQL Server和Oracle数据库中的应用
第22章 存储函数。介绍了存储函数的创建、查找、修改、调用、重编译、删除的几种实现方法和SQL语句操作,还详细介绍了存储函数在SQL Server和Oracle数据库中的应用
第23章 触发器。介绍了SQL中触发器的有关概念、创建、查找、修改、禁用、启用和删除的几种实现方法以及SQL语句操作,还详细介绍了触发器在SQL Server和Oracle数据库中的应用
第24章 游标。介绍了SQL中游标的基本概念、各种游标的定义、查找、打开、数据提取、关闭和删除的几种实现方法以及SQL语句操作、游标循环和嵌套的具体内容,还详细介绍了游标在SQL Server和Oracle数据库中的应用
第25章 错误和异常处理。介绍了错误与异常分类、SQL Server和Oracle数据库中的错误与异常处理
第7篇 SQL在数据库开发和管理中的应用(第26章~第29章)
第26章 嵌入式SQL。介绍了嵌入式SQL的基本概念、原理、与高级语言的通信方法、动态SQL技术,还详细介绍了利用C语言中嵌入SQL语句在VC++、VC#中访问SQL Server和Oracle的连接访问实现过程
第27章 数据库的存取访问技术。介绍了数据库系统的开发环境、应用系统的典型结构、各种数据库软件开发平台和工具、MS VS.NET和J2EE两种流行的开发平台的比较、数据库的连接访问技术,包括OLE-DB、ODBC、JDBC、ADO、ADO.NET。还详细介绍了用ASP、ASP.NET、VB.NET、VC#.NET与TEXT、Excel文件以及Access、SQL Server、Oracle数据库连接的访问方法
第28章 用SQL管理SQL Server数据库。介绍了用SQL结合SQL Server数据库的系统表和系统存储过程管理SQL Server数据库及服务器的属性、数据库对象以及账户、角色和权限等内容
第29章 用SQL管理Oracle数据库。介绍了用SQL管理Oracle数据库及服务器的属性、数据库连接、会话、进程、表空间和数据文件、数据表、索引、存储过程、存储函数、触发器、用户、角色、权限、事务与锁和内存参数等内容
第8篇 附录(附录A~附录E)
为便于读者对常用资料的查阅,特将下列内容作为附录内容进行了收集和整理:
SQL常用语句分类索引
SQL、SQL Server、Oracle常用函数分类对照索引
SQL Server常用系统表和系统存储过程索引
Oracle数据库常用视图索引
Oracle数据库系统环境变量参数
技术支持
希赛是中国领先的互联网技术和IT教育公司,在互联网服务、图书出版、人才培养方面,希赛始终保持IT业界的领先地位。希赛对国家信息化建设和软件产业化发展具有强烈的使命感,利用希赛网(www.csai.cn)强大的平台优势,加强与促进IT人士之间的信息交流和共享,实现IT价值。“希赛,影响IT”是全体希赛人不懈努力和追求的目标!
希赛网以希赛顾问团为技术依托,是中国最大的IT资源平台。希赛IT教育研发中心是希赛公司下属的一个专门从事IT教育、教育产品开发、教育书籍编写的部门,在IT教育方面具有极高的权威性。在国家权威机构发布的《计算机图书出版市场综述》中,称赞希赛丛书为读者所称道,希赛的图书已经形成品牌,在读者心目中具有良好的形象。
有关本书的意见反馈和咨询,读者可在学赛网社区“书评在线”版块中与作者进行交流,读者也可就书中的问题提出意见,由于作者水平有限,错误在所难免,望读者不吝赐教。
本书由黄少华和陈翠娥编着,邓子云主审。同时,希赛公司梁赛编辑提供了许多的帮助。还有刘健等几位好友也提供了支持和很好的参考意见,在此一并表示衷心的感谢。
编者 着
2008年8月
Ⅸ oracle怎么检查sql脚本语法是否正确
你执行错了会报错,例如:
SQL> select * from tadd;
select * from tadd
*
ERROR at line 1:
ORA-00942: table or view does not exist
正确执行:
SQL> create table lxl as select * from emp;
Table created.
另外 oracle分为DDL DML DCL语言
DDL 数据操纵语言 默认commit
DML数据操作语言 需要手动提交commit
DCL 为数据定义语言 grant revoke
Ⅹ sql脚本中能否把“标识”写进去,具体语法怎么样的
CREATE TABLE [dbo].[TableName] (
[id] [numeric](18, 0) IDENTITY (1, 1) NOT NULL ,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO