sql server数据库常用命令

本文详细介绍如何使用SQL进行数据库的基本操作,包括创建、删除数据库及表格,修改表结构,查询、插入、更新数据等内容,并提供了丰富的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建数据库:

   命令:create database 数据库名;

  示例:create database student;

删除数据库:

  命令:drop database 数据库名;

  示例:drop database  student;

新建表格:

  命令:create table 表名

              (列名  数据类型,列名2.....)

  示例:create table student

             (sname  char(20),sid  int)

删除表格:

  命令:drop table 表名

  示例:drop table student

修改表结构:

    (插入(新增)列)

    命令:alter table 表名

                 add 新列名  数据类型

    示例:alter table student

                 add  sage  int

    (删除列)

    命令:alter table 表名

                   drop column 列名

    示例:alter table student

                   drop column sid

    (修改列类型)

    命令:alter table 表名

                  alter  column 列名  数据类型

    示例:alter table student

                  alter  column  sid  float(浮点型)

  (新增约束)

     命令:alter table 表名

                  alter column 列名  新数据类型

     示例:alter table student

                   alter column PK_sid  primary  key(sid)(新增的约束类型是主键约束)

  (删除约束)

    命令:alter table 表名

                  drop  列名

    示例:alter table student

                  drop PK_sid

查询表内容:

  命令:select  要查询的数据列名

              from 表名

                where  筛选条件(无法对分组后的数据进行筛选)

(高级搜索)【group  by 列名(分组)

                         having  筛选条件(只能对分组后的数据进行筛选)

                            order by  排序方式(控制数据最后输出的排列方式有正序:asc、倒叙:desc)】

  示例:select  sid

             from student

               where  sid=2

                    【group by sid

                              having  sid=1

                                   order by desc】

在表中插入数据:(值与列必须一一对应)

 命令:insert  into  表名

                (列名 ,列名)

            values

                (值,值)

  示例:insert  into  表名

                (sname,sid,sage)

            values

               (‘张三’,12,15)

修改表中数据值:

  命令:update from 表名

               set 列名=新值

  示例:update from student

              set sname='李四'

查询模式:(批量插入多条数据)

  命令:insert into 表名(值的总数必须和列的总数相同)

                select  值,值,值  union all

                selevt  值,值,值

  示例:insert  into  表名

               select  '张三',15,18

               select  '李四',16,19

视图:

  命令:create view 视图名

              as

             select 列

             from 表名

  示例:create view students

              as

                 select sname

                     from student

转载于:https://www.cnblogs.com/yuzhonghua/p/7612594.html

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、付费专栏及课程。

余额充值