色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SqlServer數(shù)據(jù)庫(kù)腳本執(zhí)行命令行指令方式

瀏覽:3日期:2023-09-28 21:00:59
目錄SqlServer腳本執(zhí)行命令行指令SqlServer命令行的使用總結(jié)SqlServer腳本執(zhí)行命令行指令

1.用戶登錄,首先打開(kāi)命令提示符窗口,假設(shè):用戶是testor,密碼是123,輸入如下

C:\Windows\System32>osql -S 127.0.0.1 -U testor -P 1231>

2.查看數(shù)據(jù)庫(kù),可以輸入如下:

1> select name from sysdatabases2> go

3.創(chuàng)建數(shù)據(jù)庫(kù),輸入如下

1> create database testdb12> go

4.執(zhí)行sql文件,先查找sqlserver的工具目錄,我的是C:\Program Files\Microsoft SQL Server\150\Tools\Binn,在該目錄地址欄輸入cmd,

再執(zhí)行以下腳本,其中-d selecteddb 本來(lái)是選擇數(shù)據(jù)庫(kù),不過(guò)我這個(gè)數(shù)據(jù)庫(kù)版本貌似沒(méi)有起效

sqlcmd -S . -U 用戶名 -P 密碼 -d selecteddb -i E:\somesql.sql

好了,sqlserver的分享就這樣了,反正覺(jué)著沒(méi)有mysql或者mariadb好用,湊合用吧

SqlServer命令行的使用

1.連接sqlserver

sqlcmd -S localhost\sqlserver_name

2.連接數(shù)據(jù)庫(kù)

sqlcmd -S localhost\sqlserver_name -d database_name

3.執(zhí)行SQL語(yǔ)句

sqlcmd -S localhost\sqlserver_name -d database_name -Q 'SELECT * FROM [table_name]'

4.執(zhí)行SQL腳本文件

sqlcmd -S localhost\sqlserver_name -d database_name -i 'SQL file path'

5.將查詢的結(jié)果集輸出到文件

sqlcmd -S localhost\sqlserver_name -d database_name -o 'file path'

6.輸出的結(jié)果集字符較長(zhǎng),輸出到控制臺(tái)和文本都不能顯示完全,需要再加一個(gè)參數(shù)

sqlcmd -S localhost\sqlserver_name -d database_name -y 1024 -Q 'SELECT * FROM [table_name]'-- 注:此處的“-y”后面的值可以更改,如果還是不能完全顯示,將數(shù)值再改大一點(diǎn)

7.查詢sqlserver 命令參數(shù)

sqlcmd -?

8.備份數(shù)據(jù)庫(kù)

> sqlcmd -S localhost\sqlserver_name> backup database database_name to disk='E:\backup\database_name.bak'> go

9.通過(guò)database_name.bak文件查詢邏輯名

restore filelistonly from disk='path/to/backup/file.bak'

10.恢復(fù)數(shù)據(jù)庫(kù)

--(1)先查詢數(shù)據(jù)庫(kù)是否存在,存在就刪除-- a. 查詢數(shù)據(jù)庫(kù)> sqlcmd -S localhost\sqlserver_name> select [Name] from [sysdatabases]> go-- b. 刪除數(shù)據(jù)庫(kù)> drop database database_name(2)恢復(fù)數(shù)據(jù)庫(kù),在進(jìn)入實(shí)例服務(wù)的情況下(即sqlcmd -S localhost\sqlserver_name)執(zhí)行以下語(yǔ)句:> restore database database_name from disk='D:\backup\database_name.bak'> with> move 'database_name' to 'D:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\database_name.mdf',> move 'database_name_log' to 'D:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\database_name_log.ldf'> go

11. 修改數(shù)據(jù)庫(kù)的名稱

> restore database update_database_name from disk='E:\backup\database_name.bak'> with> move 'database_name' to 'E:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\update_database_name.mdf',> move 'database_name_log' to 'E:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\update_database_name_log.ldf'> go

12. 獲取數(shù)據(jù)的邏輯名和日志邏輯名

-- 方式一:select file_name(1),file_name(2)-- 方式二:SELECT name FROM sys.database_files?

13. 修改數(shù)據(jù)的邏輯名或者日志邏輯名

ALTER DATABASE [database_name] MODIFY FILE ( NAME = database_name, NEWNAME = new_database_name )?ALTER DATABASE [database_name] MODIFY FILE ( NAME = database_nameb_log, NEWNAME = new_database_name_log )?

14. 查詢數(shù)據(jù)文件或日志文件當(dāng)前存放路徑

SELECT physical_name FROM sys.database_files?

15. bcp 命令的使用

-- 導(dǎo)出整張表bcp MDataPort.dbo.Recording out E:\Backup\recording.bcp -S .\sqlexpress -T -c-- 導(dǎo)入整張表bcp MDataPort.dbo.Recording in E:\Backup\recording.bcp -S .\sqlexpress -T -c-- 導(dǎo)出指定時(shí)間戳bcp 'select * from MDataPort.dbo.Recording where Timestamp >= '2019-02-01 00:00:00'' queryout E:\Backup\recording_20190201.bcp -S .\sqlexpress -T -c-- 導(dǎo)出指定列bcp 'select Timestamp from MDataPort.dbo.Recording' queryout E:\Backup\recording_Timestamp.bcp -S .\sqlexpress -T -c

16. row_number()分頁(yè)

-- 對(duì)源表進(jìn)行重新排序,并增加一個(gè)排序的ID字段?select row_number() over(order by id) as ROWID, * ?from [table_name]) ?as new_table_namewhere ROWID > OnePageNum* (CurrentPage-1)--原理:先把表中的所有數(shù)據(jù)都按照一個(gè)rowNumber進(jìn)行排序,然后查詢r(jià)ownuber大于40的前十條記錄-- 這種方法和oracle中的一種分頁(yè)方式類似,不過(guò)只支持2005版本以上的-- Annotation:OnePageNum每頁(yè)顯示的記錄數(shù) ? ?-- CurrentPage:當(dāng)前頁(yè)頁(yè)數(shù)

17. 遍歷表

DECLARE?? @i int ,? @timestamp datetime2(7),? @type tinyint,? @mea uniqueidentifier? SET @i = 1?? WHILE (@i <= (select count(*) from [Recording]))?BEGIN?? select top 1 @mea = [MeasurementID], @timestamp = [Timestamp], @type = [Type] ?from (? ? -- 對(duì)源表進(jìn)行重新排序,并增加一個(gè)排序的ID字段? ? ?select row_number() over(order by [MeasurementID], [Timestamp], [Type]) as ROWID, * ?from [Recording]? ? ) ?as new_table_name? ? where ROWID > 1 * (@i-1)? update [Recording] set [Temperature] = (select cast( floor(rand()*100) as int)) where [MeasurementID] = @mea and [Timestamp] = @timestamp and [Type] = @type? SET @i = @i + 1END?GO?

注1:以上連接數(shù)據(jù)庫(kù)的方式都是windows自動(dòng)驗(yàn)證連接

注2:若是恢復(fù)失敗的話,可以找到sqlserver安裝目錄(即MSSQL11.SQLEXPRESS)右擊屬性---->安全---->查看User權(quán)限的權(quán)限

注3:sqlserver_name:數(shù)據(jù)庫(kù)服務(wù)名database_name:數(shù)據(jù)庫(kù)名 table_name:表名

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: MsSQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 国内精品视频成人一区二区 | 欧美曰批人成在线观看 | 杨幂国产精品福利在线观看 | 真人一级毛片免费观看视频 | 一区二区三区视频网站 | 怡红院在线视频全部观看 | 国产成人禁片免费观看 | 91日本在线精品高清观看 | 免费人欧美成又黄又爽的视频 | 久久在线免费 | 亚洲一区三区 | 男人天堂视频在线观看 | 国产成在线观看免费视频成本人 | 美女视频全部免费 | 久久久夜间小视频 | 欧美毛片性视频区 | 欧美一区二区三区精品 | 色综合久久综合 | 99在线观看精品免费99 | 草草影院私人免费入口 | 精品日韩欧美 | 亚洲国产精品综合久久网络 | 黄色福利网 | 国产一区二区三区美女在线观看 | 一级特黄aaa大片 | 亚洲视频网址 | 国产精品99久久久久久人 | 国产网曝手机视频在线观看 | 热er99久久6国产精品免费 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片唾 | 欧美成人 一区二区三区 | 亚洲综合亚洲 | 国产精品免费aⅴ片在线观看 | 欧美曰韩一区二区三区 | 成人毛片手机版免费看 | 亚洲欧美日韩成人一区在线 | 国产在线更新 | 亚洲码一区二区三区 | a毛片免费观看完整 | 毛片手机在线视频免费观看 | 成人亚州|