SQLservr、Oracle、Mysql语法与用法对比(over)
操作
SQ:LServer
Oracle
Mysql
查看表结构
exec sp_help 表名
desc 表名
desc 表名 或 describe 表名 或
show columns from 表名;
修改数据库名称
exec sp_renamedb ‘旧数据库名’,’新数据库名’
不详
修改表名
exec sp_rename ‘旧表明’,’新表明’
rename 旧表名 to 新表名
修改列名
exec sp_rename ‘表.旧列名’,’新列名’
alter table 表名 rename column 旧列名 to 新列名
删除数据库
drop database 数据库名
不详
添加表中一列
alter table 表名 Add 列名 数据库类型
alter table 表明 add(列名 数据类型) 或
alter table 表名 Add 列名 数据库类型
删除表中一列
alter table 表名 drop column 列名
alter table 表名 drop column 列名
修改表现有列
alter table 表名 alter column 列名
新数据库类型 大小
alter table 表明 modify(列名 数据类型)
删除约束
alter table 表名 drop constraint 约束名
完全一样
添加主键约束
alter table 表名
add constraint 主键约束名 primary key (列名)
完全一样
alter table 表明add primary key (列名)
删除主键约束
alter table 表名 drop primary key
添加唯一约束
alter table 表名
add constraint 唯一约束名 unique (列名)
完全一样
alter table 表名 add unique (列名)
添加默认约束
alter table 表名
add constraint default (值) for 列名
完全一样
添加检查约束
alter table 表名
add constraint check (列名 > 10)
完全一样
添加外键约束
alter table 子表
add constraint 外键约束名 foreign key
(子表的列名) references 主表 (列名)
on update cascade / on update action
注意:
默认和 加 on update action 表示更新受限
加on update cascade 表示更新不受限,多项
操作时用逗号隔开
完全一样
添加索引约束
alter table 表名 add index 索引名 (列名)
添加普通索引:
create index 索引名 ON 表名 (列名)
添加唯一索引:
create unique索引名 ON 表名 (列名)
删除索引
drop index 索引名 on 表名
alter table 表名 drop index 索引名
创建登陆帐户
windows身份: exec sp_grantlog ‘windows域名\密码’
sql身份: exec sp_addlogin ‘登陆帐户’,’密码’
创建数据库用户
use 数据库名
Windwos身份: Exec sp_grantdbaccess ‘windows域名\密码’,’数据库用户名’
Sql身份: Exec sp_grantdbaccess ‘登陆帐户’,’数据库用户名’
向数据库用户授权
use 数据库名
Grant 权限 [on 表明] to 数据库用户
删除权限
revoke 权限 [on 表名] from 数据库用户
删除数据库用户
exec sp_revokedbaccess ‘数据库用户’
删除登陆帐户
windows身份: exec sp_droplogin 登陆帐户名
sql身份: exec sp_revokelogin 登陆帐户名
移动数据库
1.分离数据库:
Exec sp_detach_db 数据库名
2.附加数据库:
Exec sp_attach_db 数据库名,
@filename1=’主数据文件路径’,
@filename2=’日志文件路径’
数据库的信息查询
查看数据库的所有对象:Select * from sysobjects
查询数据库 select * from sysdatabases (表)
查看表结构和属性 Exec Sp_help 表名
查看所有数据库 Exec sp_databases
查看数据库的位置和属性Exec sp_helpdb