SQL常用命令

SQL常用命令

表的操作

//建表

CREATETABLE 表名(

属性 数据类型 约束条件,

NAMEVARCHAR2(50) NOT NULL);

 

//修改表名: 
ALTER TABLE 原来的表名TO 现在的表名; 

//修改列名 
EXEC sp_rename '表名.[原列名]', '新列名', 'column' (Silver Lee实践有效)

 

//修改列的数据类型 
ALTER TABLE 表名 MODIFY 列名 新的数据类型; 

//增加列
ALTER TABLE 表名 ADD 列名 数据类型 

//删除列: 
ALTER TABLE 表名 DROP COLUMN 列名

 

索引操作

//建索引

Create (UNIQUE) INDEX 索引名 ON 表名 (属性);

 

//删除索引

Drop index 表名. 索引名1, 表名. 索引名2

 

视图操作

//建视图

CREATEVIEW view_name

AS表或者是查询结果

 

//插入视图实际影响表

INSERTINTO视图(属性名1,属性名2,…)

values(值1, 值2,…);

 

数据操作

//查询数据

SELECT (TOP N) *

FROM 表名

Where

Group by having 限制

Order by 1 升序(ASC |降序(DESC),2升序(ASC |降序(DESC

ASC ascendant升序      DESC descendent  降序

 

//更新数据

UPDATE 表名

SET 属性=值

Where  条件

 

//插入

INSERTINTO表名(属性名1,属性名2,…)

values(值1, 值2,…);

INSERTINTO表名(属性名1,属性名2,…)

AS 表或者是结果集

 

//删除数据

DELETEFROM表名WHERE 条件;

 

权限操作

//授权

GRANT授权操作(Select,delete,…) ON 表名TO 用户 [WITHGRANT OPTION];

//撤权

REVOKE (权限表) ON(对象) FROMUSER_NAME [WITH REVOKE OPTION] 

sql最全的常用命令语句 询某个数据库的连接数 select count(*) from Master.dbo.SysProcesses where dbid=db_id() --前10名其他等待类型 SELECT TOP 10 * from sys.dm_os_wait_stats ORDER BY wait_time_ms DESC SELECT *FROM sys.dm_os_wait_stats WHERE wait_type like 'PAGELATCH%' OR wait_type like 'LAZYWRITER_SLEEP%' --CPU的压力 SELECT scheduler_id, current_tasks_count, runnable_tasks_count FROM sys.dm_os_schedulers WHERE scheduler_id 500 begin select text,CROSS APPLY master.sys.dm_exec_sql_text(a.sql_handle) from master.sys.sysprocesses a end select text,a.* from master.sys.sysprocesses a CROSS APPLY master.sys.dm_exec_sql_text(a.sql_handle) where a.spid = '51' dbcc inputbuffer(53) with tb as ( select blocking_session_id, session_id,db_name(database_id) as dbname,text from master.sys.dm_exec_requests a CROSS APPLY master.sys.dm_exec_sql_text(a.sql_handle) ), tb1 as ( select a.*,login_time,program_name,client_interface_name,login_name,cpu_time,memory_usage*8 as 'memory_usage(KB)', total_scheduled_time,reads,writes,logical_reads from tb a inner join master.sys.dm_exec_sessions b on a.session_id=b.session_id ) select a.*,connect_time,client_tcp_port,client_net_address from tb1 a inner join master.sys.dm_exec_connections b on a.session_id=b.session_id --当前进程数 select * from master.dbo.sysprocesses order by cpu desc --查看当前活动的进程数 sp_who active --查询是否由于连接没有释放引起CPU过高 select * from master.dbo.sysprocesses where spid> 50 and waittype = 0x0000 and waittime = 0 and status = 'sleeping ' and last_batch < dateadd(minute, -10, getdate()) and login_time 50 and waittype = 0x0000 and waittime = 0 and status = 'sleeping ' and last_batch < dateadd(minute, -60, getdate()) and login_time 1 ORDER BY qs.plan_generation_num SELECT top 50 qt.text AS SQL_text ,SUM(qs.total_worker_time) AS total_cpu_time, SUM(qs.execution_count) AS total_execution_count, SUM(qs.total_worker_time)/SUM(qs.execution_count) AS avg_cpu_time, COUNT(*) AS number_of_statements FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt GROUP BY qt.text ORDER BY total_cpu_time DESC --统计总的CPU时间 --ORDER BY avg_cpu_time DESC --统计平均单次查询CPU时间 -- 计算可运行状态下的工作进程数量 SELECT COUNT(*) as workers_waiting_for_cpu,s.scheduler_id FROM sys.dm_os_workers AS o INNER JOIN sys.dm_os_schedulers AS s ON o.scheduler_address=s.scheduler_address AND s.scheduler_id<255 WHERE o.state='RUNNABLE' GROUP BY s.scheduler_id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值