今天是:
首 页
┆
信息查询
┆
网站SEO查询工具
┆
CSS编辑器
┆
建站素材
软件新闻
操作系统
Vista
Winxp
Win2003
Linux
Windows综合
工具软件
系统工具
媒体工具
网络工具
杀毒软件
聊天
软件开发
C教程
C++
Java
C#
ASP.NET
JSP
PHP
数据库
Oracle
MySQL
DB2
SQL Server
Sybase
安全
网络
病毒
办公应用
Word
Excel
Powerpoint
Outlook
其他
平面设计
Photoshop
Fireworks
Coreldraw
Flash
Illustrator
3dsmax
网站运营
网站运营
网站优化
网站策划
策划书下载
建站心得
站长故事
网站盈利
网页制作
网页特效
建站素材
免费资源
QQ频道
当前位置:
首 页
>>
数据库栏
>>
SQLServer
>> 主要SQL语句详解
主要SQL语句详解
发布于2005-06-26 16:16 来源:
网海拾贝
1 CREATE DATABASE database_name [WITH LOG IN “pathname”]
创建数据库。
database_name:数据库名称。
“pathname”:事务处理日志文件。
创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用
BEGIN WORK等事务语句(可用START DATABASE语句来改变)。
可选定当前数据库的日志文件。
如:select dirpath form systables where tabtype = “L”;
例:create databse customerdb with log in “/usr/john/log/customer.log”;
2 DATABASE databse-name [EXCLUSIVE]
选择数据库。
database_name:数据库名称。
EXCLUSIVE:独占状态。
存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。
例:dtabase customerdb;
3,CLOSE DATABASE
关闭当前数据库。
database_name:数据库名称。
此语句之后,只有下列语句合法:
CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE;
删除数据库前必须使用此语句。
例:close database;
DROP DATABASE database_name
删除指定数据库。
database_name:数据库名称。
用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。
例:drop databse customerdb;
CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …)
[IN “pathname”]
创建表或临时表。
table-name :表名称。
column_name:字段名称。
data-type:字段数据类型。
path-name:指定表的存放位置
TEMP用于指定建立临时表;表名要唯一,字段要唯一;有CONNECT权限的用户可建立临时表;创建的表缺省允许CONNECT用户存取,但不可以ALTER。
例:create table user
( c0 serial not null, c1 char (10),
c2 char(2),
c3 smallint,
c4 decimal(6,3),
c5 date
) in “usr/john/customer.dbs/user;
ALTER TABLE
ALTER TABLE table-name
{ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP (oldcol_name, …)
| MODIFY (oldcol_name newcol_type [NOT NULL], … )}, …
修改表结构。
table-name:表名称。
newcol_name:新字段名称
newcol_type:新字段类型
oldcol_name:老字段名称
可以使用单个或多个ADD子句、DROP子句、MODIFY子句,但某个字句失败,操作即中止;原字段是NULL,不允许MODIFY为NOT NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。
例:alter table user
add ( c6 char(20) before c5);
RENAME TABLE oldname TO newname
修改表名。
oldname:原名称。
newname:新名称。
RENAME使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。
例:rename user to bbb;
DROP TABLE table-name
删除表。
table-name:表名称。
删除表意味着删除其中所有数据、各字段上的索引及对表的赋权、视图等;用户不能删除任何系统目录表;语句使用者是表拥有者或拥有DBA权限,事务中处理过程中不要使用此语句。
RENAME COLUMN table.oldcolumn, TO newcolumn
修改字段名。
table.oldcolumn:表名及原字段名称
newcolumn:新字段名称。
语句使用者是表的拥有者或拥有DBA权限或有ALTER权限的用户,事务中处理过程中不要使用此语句。
例:rename column user.c6 to c7;
CREATE VIEW view-name column-list
CREATE VIEW view-name column-list AS select_statement [WITH CHECK OPTION]
创建视图。
view-name:视图名称。
column-list:字段列表。
select_statement:SELECT语句。
以下语句不使用视图:ALTER TABLE,DROP INDEX,ALTER INDEX,LOCK TABLE,CREATE INDEX, RENAME TABLE;视图将延用基表的字段名,对表达式等虚字段和多表间字段重名必须指明标识其字段名;若对视图中某些字段命名,则所有字段都必须命名;视图中数据类型延用基表中的数据类型,虚字段起诀于表达式;不能使用ORDER BY和UNION子句;对视图中所有的字段要有SELECT权限;事务中处理过程中使用此语句,即使事务回滚,视图也将建立,不能恢复。
例:create view v_user as select * from user where c1 = “B1”;
DROP VIEW view-name
删除视图。
view-name:视图名称。
用户可删除自己建立的视图;视图的后代视图也被删除;事务中处理中不要使用此语句。
例:drop view v_user;
CREATE INDEX
CREATE [UNIQUE/DISTINCT] [CLUSTER] INDEX index_name ON table_name
([column_name ASC/DESC],…)
创建索引。
index_name:索引名称。
table_name:表名称。
column_name:字段名称。
UNIQUE/DISTINCT:唯一索引。
CLUSTER:使表的物理存放顺序按索引排列。
ASC/DESC:升序或降序,缺省升序。
语句执行时,将表的状态置为EXCLUSIVE;复合索引最多包含8个字段,所有字段长度和不得大于120字节;事务中处理过程中使用此语句,即使事务回滚,索引将建立,不能恢复。
例:create cluster index ix_user on user(c5);
ALTER INDEX index-name TO [NOT] CLUSTER
修改索引性质。
index-name:索引名称。
TO [NOT] CLUSTER:去掉或加上CLUSTER属性。
语句执行时,将表的状态置为EXCLUSIVE;事务中处理过程中使用此语句,即使事务回滚,索引性质将改变,不能恢复。
例:alter index ix_user to not cluster;
DROP INDEX index-name
删除索引。
index-name:索引名称。
语句使用者是索引的拥有者或拥有DBA权限,事务中处理过程中不要使用此语句,否则事务无法恢复。
例:drop index ix_user;
CREATE SYNONYM synonym FOR table-name
创建同义名。
synonym:同义名
table-name:表名称
数据库的创建者可以使用同义名;没有赋予同义名权限的用户不能使用同义名;同义名不能和表名相同;事务中处理过程中不要使用此语句。
例:create synonym user_alias for user;
DROP SYNONYM synonym
删除同义名。
synonym:同义名
可以删除自己建立的同义名;事务中处理过程中不要使用此语句,否则无法恢复。
例:drop synonym user_alias;
UPDATE STATISTICS [FOR TABLE table-name]
更新数据库的统计数字。
table-name:表名称
此语句仅作用于当前数据库;可提高查询效率;只有执行此语句,才改变统计数据
例:update statistics for table user;
GRANT {DBA|RESOURCE|CONNECT} TO {PUBLIC|user-list}
授权命令。
PUBLIC|user-list:全部或指定的用户。
三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。
例:grant resource to pulbic;
GRANT tab-privilege ON table-name TO {PUBLIC|user-list} [WITH GRANT OPTION]
授表级权限。
tab-privilege:表级权限。
table-name:表名称。
PUBLIC|user-list:全部或指定的用户。
[WITH GRANT OPTION]:表示被授权用户有否权限进行二次授权。
用户可以在自己建立表达式或被[WITH GRANT OPTION]准许的表中进行赋权;限定越多的权限优先级越高。
例:grant update(c1,c6) on user to dick with grant option;
CONNECT权限:只允许对数据库表中的数据进行存取,建立和删除视图与临时表。
(2)表级权限(对表的建立、修改、检索和更新等权限)
ALTER:更改权限
DELETE:删除权限
INDEX:索引权限
INSERT:插入权限
SELECT [(cols)]:指定字段或所有字段上的查询权限,不指明字段缺省为所有字段。
UPDATE [(cols)] :指定字段或所有字段上的更新权限,不指明字段缺省为所有字段。
ALL [PRIVILEGES]:以上所有表级权限
REVOKE {DBA|RESOURCE|CONNECT} FROM {PUBLIC|user-list}
收权命令。
PUBLIC|user-list:全部或指定的用户。
三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。
例:revoke resource from john;
REVOKE tab-privilege ON table-name FROM {PUBLIC|user-list}
收表级权限。
tab-privilege:表级权限。
table-name:表名称。
PUBLIC|user-list:全部或指定的用户。
[WITH GRANT OPTION]:表示被授权用户有否权限进行二次授权。
用户只能取消由其本人赋予其他用户的表级存取权限;不能取消自己的权限,对SELECT和UPDATE作取消时,将取消所有表中字段的SELECT 和UPDATE权限。
例;revoke update on user from dick;
LOCK TABLE table-name IN {SHARE|EXCLUSIVE} MODE
记录级加锁和表级加锁或文件加锁。
table-name:表名称。
SHARE:允许读表中数据,但不允许作任何修改
EXCLUSIVE:禁止其他任何形式访问表
每次只能对表琐定一次;事务处理过程中,BEGIN WORK后立即执行LOCK TABLE以取代记录级加锁,COMMIT WORK和ROLLBACK WORK语句取消所有对表的加锁;若没有事务处理,锁将保持到用户退出或执行UNLOCK为止。
例:lock table user in exclusive mode;
UNLOCK TABLE table-name
取消记录级加锁和表级加锁或文件加?/FONT>
table-name:表名称。
例:unlock user;
SET LOCK MODE TO [NOT] WAIT
改变锁定状态。
TO [NOT]:等待解锁,有可能被死锁或不等待并提示错误信息,表示此记录被锁,缺省值。
访问一个EXCLUSIVE状态下的记录,将返回一个错误。
START DATABSE db_name [WITH LOG IN “pathname”]
启动事务处理。
“pathname”:事务处理日志文件。
执行该语句前,需要先关闭当前数据库。
例;clost database;
start databse customer with log in “/usr/john/log/customer.log”;
BEGIN WORK
开始事务。例:begin work;
COMMIT WORK
提交(正常结束)事务。例:commit work;
ROLLBACK WORK
回滚(非正常结束)事务。例:rollback work;
SELECT
SELECT select_list FROM tab_name|view_name
WHERE condition
GROUP BY column_name
附(INFORMIX的权限)
(1) 数据库的权限(控制对数据库的访问以及数据库中表的创建和删除)
DBA权限:全咳ɡ薷南低潮恚⒑蜕境碛胨饕⒃黾雍突指幢硎荩约笆谟杵渌没菘馊ㄏ薜龋?/FONT>
RESOURCE权限:允许对数据库表中的数据进行存取,建立永久性表以及索引。
HAVING condition
ORDER BY column_list
INTO TEMP table_name
查询语句。
select_list:选择表或*
tab_name:表名称
view_name:视图名称。
condition:查询条件,可使用BETWEEN、IN、LIKE、IS NULL、LIKE、MATCHES、NOT、
AND、OR、=、!=或<>、>、 >= 、<=、<、ALL、ANY、SOME
column_name:分组字段名称
condition:群聚条件
column_list:排序字段列表,缺省ASC,可指定DSC;排序时,NULL值小于非零值。
table_name:临时表名称
例:略
附(常用函数)
(1)集合函数:
count(*)、
sum(数据项/表达式)、avg(数据项/表达式)、max(数据项/表达式)、min(数据项/表达式)
count(distinct 数据项/表达式)、sum(distinct数据项/表达式)、avg(distinct数据项/表达式)
(2)代数函数和三角函数
HEX(数据项/表达式)、ROUND(数据项/表达式)、TRUNC(数据项/表达式)、
TAN(数据项/表达式)、ABS(数据项/表达式)、MOD(被除数,除数)
(3)统计函数
标准差,stdev()、方差,variance()、范围,rang()
(4)时间函数
DAY(日期/时间表达式):返回数字型
MONTH(日期/时间表达式):返回整数
WEEKDAY(日期/时间表达式):0��6,0星期天,1星期一;返回整数
YEAR(日期/时间表达式)、返回整数
DATE(非日期表达式):返回日期型
EXTEND(日期/时间表达式,[第一个至最后一个]):返回指定的整数
MDY(月,日,年):返回日期型
CURRENT:返回日期型
(5)时间函数
ROUND(),四舍五入。如:ROUND(10.95,position)position进行四舍五入的前一位置
TRUNC(),截取。如:TRUNC(10.95,0)position截取的位置
INFORMIX临时表在下列情况下自动取消:
A.退出数据库访问工具(如DBACCESS)
B.SQL通话结束(DISCONNECT)
C.发出取消表语句
D.退出程序时
INSERT
INSERT INTO view_name|table_name [(column_list)] VALUES (value_list)
或 INSERT INTO view_name|table_name [(column_list)] select_statement
插入数据
view_name|table_name:视图名或表名称
column_list:数据项列表。
value_list:值列表
select_statement:查询语句。
例:略
DELETE FROM view_name|table_name WHERE search-conditions
删除语句。
view_name|table_name:视图名或表名称
search-conditions;删除条件
例:略
UPDATE
UPDATE view_name|table_name SET column_1 = value_1ist WHERE search_conditions
或UPDATE view_name|table_name SET column_1|* = value_1ist WHERE search_conditions
更新数据语句。
view_name|table_name:表名称或视图表名称
value_1ist:字段值
search_conditions:更新数据的条件
例:略
CHECK TABLE table-name
检查索引语句。
语句使用者是表的拥有者或拥有DBA权限;不能对systable使用此语句。
例:略
REPAIR TABLE table-name
修复索引。
语句使用者是表的拥有者或拥有DBA权限;不能对systable使用此语句。
例:略
LOAD FROM “file-name” INSERT INTO table_name [(column_name[,…])]
将文本数据栽入表中。
例:load form “aa.txt” insert into user;
UNLOAD TO “pathname”
将表中数据卸为文本。
例:unload to “aa.txt” select * from user;
INFO
系统信息查询。
INFO TABLES:得到当前数据库上表的名字。
INFO columns FOR table_name:指定表上的字段信息。
INFO INDEXES FOR table_name:指定表上的索引信息。
INFO [ACCESS|PRIVILEGES] FOR table_name:指定表上的存取权限。
INFO STATUS FOR table_name:指定表的状态信息。
例: info tables;
中查找“
主要SQL语句详解
”更多相关内容
中查找“
主要SQL语句详解
”更多相关内容
上一篇:
SQL语法参考手册(SQL)
下一篇:
SQL概述及在网络安全中的应用
最近更新
赞助商
·
性能损伤SQL Server 2008的全文检索
11-20
·
如何使用 SQL Server 数据库查询累计值
10-29
·
MSSQL server数据库备份还原SQL语句
10-28
·
SQL Server 2005最后的升级:SP3年底发布
10-24
·
微软SQL Server 2008数据库中的新数据类型
10-13
·
微软发布数据库SQL Server规划线路图和..
10-13
·
教你如何在SQL Server数据库中加密数据
10-13
·
在SQL Server 2008数据库中实现数据压缩
09-19
·
网友分析微软SQL Server 2008的精妙之处
09-19
·
免费SQL注入扫描程序
09-18
·
Microsoft RTM版本数据库SQL Server 2008
09-11
共有评论 0 条 网友评分
查看所有评论
发表评论→
学而不思则罔,思而不学则殆,请大胆发表你的见解。
输验证码:
您对此篇文章的评分:1分
2分
3分
4分
5分
热门排行
·
visual studio 2005 简..
·
主要SQL语句详解
·
SQL Server导出导入数据..
·
数据库中索引原理
·
SQL语言入门教程
·
SQL语句集锦
·
利用数据库日志恢复数据..
·
JSP中连接SQL 2000数据..
·
解决方案:用户 'sa' 登..
·
如何设计 Sql Server触..
最新推荐
·
SQL 2005数据库如何转到..
·
SQL Server锁的相关概念
·
SQL查询的精华语句
·
通用SQL数据库的查询语句
·
一些方便易用的SQL语句
·
SQL Server中删除重复数..
·
SQLServer数据库安全规..
·
保护SQL Server 2000的..
·
存储过程编写经验和优化..
·
SQL Server导出导入数据..
·
SQL SERVER使用嵌套触发器
站内搜索
关键词
搜索方式
全部
文章内容
文章标题
文章作者
搜索范围
所有栏目
生活休闲
软件开发
站内新闻
幽默笑话
软件新闻/评测/业界动态
文摘欣赏
QQ新闻/技巧
C#教程
网站建设
服务器综合
免费资源
建站心得
网站策划
QQ空间大图模块
QQ宠物
平面设计
PHOTOSHOP
FIREWORKS
CORELDRAW
FLASH
网页制作
Dreamweaver
Javascript/Ajax
HTML/Xhtml
CSS教程
ASP.NET教程
JSP教程
SQLServer
XML教程
QQ频道
LOGO制作
QQ头像
QQ表情
矢量素材
暴笑男女
校园篇
爱情篇
名人篇
电脑IT篇
QQ皮肤
程序人生
网站优化
数据库栏
ACCESS
MySQL
Oracle
Foxpro
PowerBuilder
Sybase
PHP教程
站长故事
网站盈利
网站运营
网页特效
日期时间
页面背景
页面导航
页面特效
图形图象
按钮特效
鼠标事件
浏览窗口
文本特效
状态栏类
表单操作
计数计算
技 巧 类
联络聊天
操作系统
Win2003
WinXP
Win2000
Linux
FreeBSD
注册表
Windows综合
工具软件
系统工具
媒体工具
压缩工具
图文处理
文件管理
其他工具
认证考试
微软认证
Cisco认证
Macrmedia认证
Adobe 认证
软件水平考试
全国等级考试
QQ游戏
java教程
C++教程
ASP教程
QQ工具
网络工具
Vista
办公应用
Word教程
Excel教程
Powerpoint教程
Outlook教程
排版软件
办公软件其他
建站素材
字体下载
网页模版
png图标素材
C教程
Golive教程
数据库开发
psd分层素材
网页背景素材
常用代码
其它
网络应用
病毒防治
网络安全
网络知识
服务器
网站策划书下载
QQ空间制作代码
MacOSX
心得技巧
QQ个性繁体/资料/签名
3D教程
矢量教程
Delphi教程
ImageReady
DB2
Illustrator
QQ空间flash
QQ空间视频模块
杀毒软件
QQ空间素材
Windows Server 2008
导航菜单
精确匹配
网站首页
-
关于本站
-
网站地图
-
广告合作
-
站点声明
-
RSS订阅
-
联系我们
Copyright © 2005
网海拾贝
.
[新ICP备05003216号]
. All Rights Reserved .