自己总结了一下,欢迎大家提出不同意见
全部在 http://www.goziwa.com/?p=360
操作 mysql mssql 说明
登录 mysql -uroot -p isql -Usa 一般不要在命令中直接输入密码,应在出现提示符后输入,这样屏幕上不会显示出来,安全性较好。
执行命令 go ;或\g mysql中delimiter @,可将结束符换为@,delimiter ;再换回来
退出 QUIT或 EXIT( ) 一样
获得帮助 help 无
切换数据库 use 一样
获取所有数据名 show databases; SELECT
Name FROM Master..SysDatabases ORDER BY Name
获取所有表名 show tables; SELECT
Name FROM DatabaseName..SysObjects Where XType=’U’ ORDER BY Name XType=’U':表示所有用户表;XType=’S':表示所有系统表;
获取表的所有列 show columns from tablename;或desc tablename; SELECT Name FROM SysColumns WHERE id=Object_Id(‘tablename’)
显示服务器状态 show status; 无
显示建库语句 show create database dbname; 无 在mssql查询分析器中-选择库-在新窗口中编写对象角本-创建
显示建表语句 show create table tablename; 无 mssql在企业管理器中选择表所在数据库-所有任务-生成sql角本-选择表-确定或在mssql查询分析器中-选择表-在新窗口中编写对象角本-创建
显示用户权限 show grants; sp_helprotect null,’username’
......
全部在 http://www.goziwa.com/?p=360
操作 mysql mssql 说明
登录 mysql -uroot -p isql -Usa 一般不要在命令中直接输入密码,应在出现提示符后输入,这样屏幕上不会显示出来,安全性较好。
执行命令 go ;或\g mysql中delimiter @,可将结束符换为@,delimiter ;再换回来
退出 QUIT或 EXIT( ) 一样
获得帮助 help 无
切换数据库 use 一样
获取所有数据名 show databases; SELECT
Name FROM Master..SysDatabases ORDER BY Name
获取所有表名 show tables; SELECT
Name FROM DatabaseName..SysObjects Where XType=’U’ ORDER BY Name XType=’U':表示所有用户表;XType=’S':表示所有系统表;
获取表的所有列 show columns from tablename;或desc tablename; SELECT Name FROM SysColumns WHERE id=Object_Id(‘tablename’)
显示服务器状态 show status; 无
显示建库语句 show create database dbname; 无 在mssql查询分析器中-选择库-在新窗口中编写对象角本-创建
显示建表语句 show create table tablename; 无 mssql在企业管理器中选择表所在数据库-所有任务-生成sql角本-选择表-确定或在mssql查询分析器中-选择表-在新窗口中编写对象角本-创建
显示用户权限 show grants; sp_helprotect null,’username’
......
解决方案 »
- [求助]:请教各位 MySQL 如何导入数据库文件?
- 无法连接远程mysql数据库服务器,高手请进!
- 一个表中有type ,numberData两个字段, type存的是类别,numberData,存的是正数,负数和0,我现在查出 numberData里>=0
- 关于mysql字符集的问题
- Mysql中建立新用户后,无法用这个用户登录问题
- 用php建表的问题
- 请问:何处有下载mysql for windows?是否是免费的?
- mysql更新数据库, 错误 42000
- mysql迁移到另一台服务器后,数据竟然不同,这是怎么回事?
- date_format问题
- centos下mysql当掉
- mysql分区解决方案
/**************** mysql *********************/
-- after insert
CREATE TRIGGER T_TRI AFTER INSERT ON TRI
FOR EACH ROW
INSERT INTO TRI_LOG(ID)
SELECT NEW.ID*2;-- before insert
create trigger t_tri_b_insert before insert on tri
for each row
set new.id=new.id*new.id
;-- after update
drop trigger if exists t_tri_update;create trigger t_tri_update after update on tri
for each row
insert into tri_log
select old.id,'old'
union
select new.id,'new'
;/**************** mssql *********************/
-- after insert
CREATE TRIGGER T_TRI ON TRI
AFTER INSERT
AS
INSERT INTO TRI_LOG(ID)
SELECT ID*2
FROM INSERTED
GO-- before insert
CREATE TRIGGER T_TRI_B_INSERT ON TRI
INSTEAD OF INSERT
AS
INSERT INTO TRI
SELECT ID*ID
FROM INSERTED
GO-- after insert
CREATE TRIGGER T_TRI_UPDATE ON TRI
AFTER UPDATE
AS
INSERT INTO TRI_LOG
SELECT ID,'OLD'
FROM DELETED
UNION
SELECT ID,'NEW'
FROM INSERTED
GO
1,对于插入的行,mysql的表名为new,mssql为inserted
2,before触发器在mssql中使用的是instead of关键字
3, 在mysql触发器中,不可直接用引用new表,只能用new.字段名的方式引用
4, 在mssql触发器中,不能用update更新inserted表里面的数据
5, 对于update操作,mysql使用old引用旧值,使用new引用新值,而mssql使用inserted引用
新值,deleted引用旧值
http://www.goziwa.com