一、常用命令:
查看表结构:
sp_columns '表名'
查看SQL server 版本:
SELECT @@VERSION;
查看实例名称:
SELECT @@SERVERNAME AS 'Server Name'
模糊查询表名:
SELECT name FROM sys.tables WHERE name LIKE '表名%';
查看当前数据库连接情况:
SELECT * FROM sys.dm_exec_connections;
查看当前数据库会话信息:
SELECT * FROM sys.dm_exec_sessions;
查看数据库文件大小:
SELECT name AS FileName, size*8/1024 AS FileSizeKB
FROM sys.master_files
WHERE type = 0;
查看数据库日志文件大小:
SELECT name AS LogFileName, size*8/1024 AS LogFileSizeKB
FROM sys.master_files
WHERE type = 1;
检查数据库完整性:
DBCC CHECKDB('database_name');
查看当前活动的 SQL Server 错误日志:
EXEC xp_readerrorlog;
1、建库建表:
创建数据库:
CREATE DATABASE 数据库;
删除数据库:
DROP DATABASE 数据库;
创建表:
CREATE TABLE 表(
column1 datatype,
column2 datatype,
...
);
--删除表
DROP TABLE 表
2、增删改查:
插入数据:
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
查询数据:
SELECT column1, column2, ... FROM table_name WHERE condition;
更新数据:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
删除数据:
DELETE FROM table_name WHERE condition;
3、索引字段:
创建索引
要在表中创建索引,使用 CREATE INDEX 语句。
CREATE INDEX index_name
ON table_name (column1, column2, ...);
其中,index_name 是索引的名称,table_name 是要创建索引的表名,column1, column2, ... 是要包含在索引中的列名。
例如,为 employees 表中的 last_name 列创建索引:
CREATE INDEX idx_last_name
ON employees (last_name);
如果要创建复合索引(多列索引),例如结合 last_name 和 first_name:
CREATE INDEX idx_last_name_first_name
ON employees (last_name, first_name);
删除索引
要删除索引,使用 DROP INDEX 语句。
DROP INDEX index_name
ON table_name;
例如,删除 employees 表中的 idx_last_name 索引:
DROP INDEX idx_last_name
ON employees;
增加字段的长度:
要增加字段的长度,你需要使用 ALTER TABLE 和 ALTER COLUMN,并指定新的字段长度。
ALTER TABLE table_name
ALTER COLUMN column_name datatype(new_length);
例如,假设你要增加表 employees 中 first_name 字段的长度为 50:
ALTER TABLE employees
ALTER COLUMN first_name VARCHAR(50);
减少字段长度:
减少字段长度时,要确保新长度足够容纳原有数据,否则可能会导致截断数据。同样使用 ALTER TABLE 和 ALTER COLUMN,指定新的字段长度即可。
ALTER TABLE table_name
ALTER COLUMN column_name datatype(new_length);
例如,将 employees 表中 last_name 字段的长度减少为 30:
ALTER TABLE employees
ALTER COLUMN last_name VARCHAR(30);
删除字段:
要删除字段,使用 ALTER TABLE 和 DROP COLUMN 子句。
ALTER TABLE table_name
DROP COLUMN column_name;
例如,从 employees 表中删除 middle_name 字段:
ALTER TABLE employees
DROP COLUMN middle_name;
4、重启服务:
ALTER DATABASE 数据库名 SET OFFLINE WITH ROLLBACK IMMEDIATE; --将数据库设置为离线状态(并立即回滚所有活动连接)
ALTER DATABASE 数据库名 SET ONLINE; --将其设置为在线状态
二、视图
#1 、创建视图的格式
GO
create view 表名
as
select --执行SQL语句
GO
select 表名 --查看视图
GO
三、存储过程:
GO
create proc 存储过程名称 --创建
as
select | update|delete| insert --执行SQL语句,增删改查等
exec 存储过程名称 --调用
GO
四、事务管理
select * from 表名 --查看表
BEGIN TRANSACTION; -- 开始事务,确保操作的原子性
update 表名 set 字段名 = 值 [where 条件表达式 ] --执行SQL语句,如update表更新
COMMIT TRANSACTION; -- 提交事务,保存更改
ROLLBACK TRANSACTION; --回滚
注意:COMMIT TRANSACTION; 和 ROLLBACK TRANSACTION; 只能执行一个,具体来说,你的操作应该是要么提交事务,要么回滚事务,而不是同时执行这两个操作。
五、备份与还原
备份数据库:
BACKUP DATABASE 数据库名
TO DISK = 'C:\Backup\Path\BackupFile.bak'
WITH FORMAT;
BACKUP DATABASE 语句用于创建数据库的完整备份。
TO DISK = 'C:\Backup\Path\BackupFile.bak' 指定备份文件的路径和名称。
WITH FORMAT 选项表示在备份之前要格式化备份介质,这将覆盖任何现有的备份集和介质。
这个过程只是将数据库的当前状态(包括表结构、数据、索引等)备份到指定的文件中,不会对数据库的结构进行任何更改。
还原数据库
RESTORE DATABASE 数据库名
FROM DISK = '路径\bak文件名'
WITH REPLACE, RECOVERY;
RESTORE DATABASE 语句用于从备份文件还原数据库。
FROM DISK = '路径\bak文件名' 指定要恢复的备份文件的路径和名称。
WITH REPLACE 选项允许替换现有数据库(如果存在同名的数据库)。
WITH RECOVERY 选项表示数据库恢复后将其置于可用状态,不再允许更多的事务日志应用。
这个过程会从备份文件中还原数据库的内容,包括表结构、数据、索引等,但并不会对这些结构进行任何更改。还原的目的是将数据库恢复到备份时的状态,以便继续使用或者恢复数据。
备份表:
-创建备份表:
SELECT * INTO 备份表名 FROM 原表名;
--这条语句将从 原 表中选择所有数据,并将这些数据插入到一个新创建的备份表中。
--删除原表:
DROP TABLE 原表名;
--这条语句删除原表。在执行这步之前,请确保备份数据已经成功创建。
--重命名备份表,将备份表变成原表
EXEC sp_rename '备份表名', '原表名';
这种表备份还原的方式不会改变表结构,只是简单地复制了原表的数据到备份表中,然后删除了原表,并将备份表重命名为原表的名称。在这个过程中,表结构(列名、数据类型等)不会被改变,简单来说只是在数据库中进行了数据的移动和重命名操作。