當前位置:首頁 » 編程語言 » 選擇結構sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

選擇結構sql

發布時間: 2023-05-29 08:04:58

㈠ 如何通過sql查看錶的結構

1、方法一:長按「ctrl」鍵,滑鼠左鍵點擊表名稱,即顯示表的一切詳細情況,如表空間、表名稱、索引、列、鍵、許可權、觸發器等;

2、方式二:在命令窗口輸入命令「desctablename」,即可顯示表每一列欄位的詳細情況;

3、方式三:在窗口使用滑鼠右鍵點擊表名稱,選擇滑鼠左鍵點擊「屬性」可以查看該表的建表,建主鍵,建索引的腳本

4、方式四:在窗口使用滑鼠右鍵點擊表名稱,選擇滑鼠左鍵點擊「描述」顯示表每一列欄位的襲灶詳細情況;

5、方式五:在窗口使用滑鼠右鍵點擊表名稱,選擇滑鼠左鍵點擊「查看」即顯示表的一切詳細情況,如表空間,表名稱,索引、列、鍵、許可權、觸發器等;

6、方式六:在窗口使用滑鼠右鍵點擊表名稱,選擇滑鼠左鍵點擊『編輯』即廳鉛顯示表的一切詳細情況,如表空間、表名稱、索引、 列拍伏扮、鍵、許可權、觸發器等。

㈡ 寫出SQL查詢語句的基本結構,並說明結構中各子句表示的含義

語法
SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [,[table.]field2 [AS alias2] [,...]]}
FROM tableexpression [,...] [IN externaldatabase]
[WHERE...]
[GROUP BY...]
[HAVING...]
[ORDER BY...]
[WITH OWNERACCESS OPTION]
SELECT 語句包含以下部分:
部分 說明
predicate 這些謂詞之一:ALL、DISTINCT、DISTINCTROW 或 TOP.可以使用謂詞來限定返回記錄的數量.如果沒有指定謂詞,默認值為 ALL.
* 指定選擇所指定的表的所有欄位.
table 表的名稱,該表包含了其記錄被選擇的欄位.
field1,field2 欄位名,這些欄位包含了要檢索的數據.如果包括多個欄位,將按它們的排列順序對其進行檢索.
alias1,alias2 用作列標題的名稱,不是 table 中的原始列名.
tableexpression 其中包含要檢索的數據的表的名稱.
externaldatabase 如果 tableexpression 中的表不在當前資料庫中,則使用該參數指定該資料庫名.
說明
若要執行此項操作,Microsoft?Jet 資料庫引擎會搜索指定的表,並提取出選定的列,再選擇出符合條件的列,然後按指定的順序對得到的行進行排序或分組.
SELECT 語句不會更改資料庫中的數據.
SELECT 通常是 SQL 語句中的第一個詞.大多數 SQL 語句是 SELECT 或 SELECT...INTO 語句.
SELECT 語句最簡化的語法為:
SELECT fields FROM table
可以通過星號 (*) 來選擇表中所有的欄位.以下的示例選擇在 Employees 表中的所有欄位:
SELECT * FROM Employees;
如果一個欄位名包括於 FROM 子句內的多個表中,請在該欄位前面加上表名和 .(圓點)號.在下面的示例中,Department 欄位同時存在於 Employees 表和 Supervisors 表中.SQL 語句從 Employees 表中選擇出部門並從 Supervisors 表中選擇出主管名:
SELECT Employees.Department,Supervisors.SupvName
FROM Employees INNER JOIN Supervisors
WHERE Employees.Department = Supervisors.Department;
創建 Recordset 對象時,Microsoft Jet 資料庫引擎將使用表的欄位名作為 Recordset 對象中的 Field 對象名.如果需要一個不同的欄位名或者名稱不適合用來生成該欄位的表達式,請使用 AS 保留字.下面的示例使用標題 Birth 來命名在所得到的 Recordset 對象中的返回 Field 對象:
SELECT BirthDate
AS Birth FROM Employees;
只要使用的聚合函數或查詢返回的是不明確的或重復的 Field 對象名稱,就必須使用 AS 子句為該 Field 對象另外提供一個替代名稱.下面的示例使用標題 HeadCount 來命名在結果 Recordset 對象中的返回 Field 對象:
SELECT COUNT(EmployeeID)
AS HeadCount FROM Employees;
可以在 SELECT 語句中使用其他子句進一步約束和組織所返回的數據.有關詳細信息,請參閱相應子句的幫助主題.
請參閱
ALL DISTINCT、DISTINCTROW、TOP 謂詞 ORDER BY 子句 (Microsoft Jet SQL)
DELETE 語句 SELECT...INTO 語句
FROM 子句 SQL 聚合函數
GROUP BY 子句 UNION 操作
HAVING 子句 UPDATE 語句
IN 子句 WHERE 子句
INSERT INTO 語句 WITH OWNERACCESS OPTION 聲明

㈢ 如何用SQL語句復製表的結構,復制整個資料庫

1.復製表結構:只能復製表的欄位,不能復制主鍵、索引等

select top 0 * into 新表名 from 原表名

2.復制整個資料庫結構及數據:

create datebase Test --創建目標資料庫
exec P_CopyDB @Source_DB='aspnet',@Des_DB='test' --把源資料庫整個復制到目標資料庫

P_CopyDB存儲過程創建過程如下

-----------------------創建存儲過程開始--------------------

create proc P_CopyDB
@Des_DB sysname, --目標資料庫
@Obj_Type nvarchar(4000)=N'',--復制的對象類型,可以是下列字元串列表:
-- O 所有對象,D 默認值,R 規則,P 存儲過程
-- T 表,TR 觸發器,DT 用戶定義數據類型
-- V 視圖,DATA 數據,DEL 刪除目標對象
@Source_DB sysname=N'', --源資料庫
@ServerName sysname=N'', --伺服器名
@UserName sysname=N'', --用戶名,不指定則表示使用 Windows 身份登錄
@pwd sysname=N'' --密碼
AS
SET NOCOUNT ON
DECLARE @srvid int,@Dbid int,@S_dbid int,@D_dbid int,@TransferID int,
@err int,@src varchar(255), @desc varchar(255)

IF ISNULL(@ServerName,N'')=N'' SET @ServerName='.'--默認為本地資料庫
IF ISNULL(@Source_DB,N'')=N'' SET @Source_DB=DB_NAME()

--創建sqldmo對象·
EXEC @err=sp_oacreate 'sqldmo.sqlserver',@srvid OUT
IF @err<>0 GOTO lb_Err

--連接伺服器
IF ISNULL(@UserName,N'')=N'' --使用 Windows 身份登錄
BEGIN
EXEC @err=sp_oasetproperty @srvid,'loginsecure',-1
IF @err<>0 GOTO lb_Err

EXEC @err=sp_oamethod @srvid,'connect',NULL,@servername
END
ELSE
EXEC @err=sp_oamethod @srvid,'connect',NULL,@servername,@UserName,@pwd

IF @err<>0 GOTO lb_Err

--獲取資料庫集
EXEC @err=sp_oagetproperty @srvid,'databases',@Dbid OUT
IF @err<>0 GOTO lb_Err

--選擇源資料庫
EXEC @err=sp_oamethod @Dbid,'item',@S_dbid OUT,@Source_DB
IF @err<>0 GOTO lb_Err

--選擇目標資料庫
EXEC @err=sp_oamethod @Dbid,'item',@D_dbid OUT,@Des_DB
IF @err<>0 GOTO lb_Err

--設置復制的對象
EXEC @err=sp_oacreate 'SQLDMO.Transfer',@TransferID OUT
IF @err<>0 GOTO lb_Err

--設置目標伺服器信息
EXEC @err=sp_oasetproperty @TransferID,'DestServer',@ServerName
IF @err<>0 GOTO lb_Err

--設置連接用戶
IF ISNULL(@UserName,N'')=N'' --使用 Windows 身份登錄
BEGIN
EXEC @err=sp_oasetproperty @TransferID,'DestUseTrustedConnection',1
IF @err<>0 GOTO lb_Err
END
ELSE
BEGIN
EXEC @err=sp_oasetproperty @TransferID,'DestLogin',@UserName
IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @TransferID,'DestPassword',@pwd
IF @err<>0 GOTO lb_Err
END

--設置復制對象信息
EXEC @err=sp_oasetproperty @TransferID,'DestDatabase',@Des_DB
IF @err<>0 GOTO lb_Err

DECLARE tb CURSOR FAST_FORWARD LOCAL
FOR
SELECT Name FROM(
SELECT KeyWord=N',D,', Name=N'CopyAllDefaults' UNION ALL
SELECT KeyWord=N',O,', Name=N'CopyAllObjects' UNION ALL
SELECT KeyWord=N',R,', Name=N'CopyAllRules' UNION ALL
SELECT KeyWord=N',P,', Name=N'CopyAllStoredProceres' UNION ALL
SELECT KeyWord=N',T,', Name=N'CopyAllTables' UNION ALL
SELECT KeyWord=N',TR,', Name=N'CopyAllTriggers' UNION ALL
SELECT KeyWord=N',DT,', Name=N'CopyAllUserDefinedDatatypes' UNION ALL
SELECT KeyWord=N',V,', Name=N'CopyAllViews' UNION ALL
SELECT KeyWord=N',DATA,',Name=N'CopyData' UNION ALL
SELECT KeyWord=N',DEL,', Name=N'DropDestObjectsFirst'
)A WHERE CHARINDEX(KeyWord,
CASE WHEN ISNULL(@Obj_Type,N'')='' THEN ',O,DATA,' ELSE @Obj_Type END)>0
OPEN tb
FETCH tb INTO @src
WHILE @@FETCH_STATUS=0
BEGIN
EXEC @err=sp_oasetproperty @TransferID,@src,1
IF @err<>0 GOTO lb_Err
FETCH tb INTO @src
END
CLOSE tb
DEALLOCATE tb

--復制對象
EXEC @err=sp_oamethod @S_dbid,'Transfer',null,@TransferID
IF @err<>0 GOTO lb_Err

--結束
SET @err=0
GOTO lb_Exit

--錯誤處理
lb_Err:
EXEC sp_oageterrorinfo NULL, @src OUT, @desc OUT
RAISERROR(N'錯誤編號 %#x, 錯誤源 "%s", 錯誤描述 "%s"',16,1,@err,@src,@desc)
RETURN -1

lb_Exit:
EXEC sp_OADestroy @Dbid
EXEC sp_OADestroy @srvid
EXEC sp_OADestroy @TransferID
RETURN @err
GO

-----------------------創建存儲過程結束--------------------

㈣ 在SQL Server中,怎樣參照已有的表建一個結構完全相同的新表

在SQL Server中,怎樣參照已有的表建一個結構完全相同的新表
最簡單的方法就是直接把創建表結構的語句導出來 2005裡面有這個功能,步驟如下:
1、選中資料庫A,右鍵->任務->生成腳本,彈出生成腳本向導窗體,點擊下一步。
2、選擇要生成腳本的資料庫,點擊下一步,彈出選擇腳本選項窗體,點擊下一步。
3、彈出選擇對象類型窗體,全選,點擊下一步。
4、彈出選擇存儲過程窗體,全選,點擊下一步。
5、彈出選擇表窗體,全選,點擊下一步。
6、彈出輸出選項窗體,根據需要選擇一種方式。
然後會生成一個創建資料庫的腳本,包括表、存儲過程等等,我們只需要把表A的改成表B,運行一下就可以創建一個無數據的空資料庫B,並且和A表結構完全一樣。不明白可以留言給我,有問必答!

㈤ sql怎麼把表結構導出來

1. 怎麼把SQL Server 的表結構導出
方法1:SQL Server 2008 自帶的導出功能 「任務 → 生成腳本」

1

打開sql server 2008 後,選擇你要導出的資料庫

2

在資料庫上右擊,選擇【任務】→【生成腳本】

3

進入簡介頁面,直接點擊【下一步】就可以了

4

選擇對象頁面,可以選擇導出整個資料庫的腳本,或者其中的部分表,很靈活

5

進入設置腳本選項,首先把導出的路徑選擇好

防止一會兒忘記設置路徑,找不到導去哪裡了

然後點擊【高級】

6

在高級選項頁面,在左側找到【要編寫腳本的數據類型】,然後在右側的下拉框中選擇【架構和數據】

這一步操作千萬不要忘記了!除非你不想要數據,只要表的結構。

之後回到編寫選項的頁面,點擊【下一步】

7

要摘要頁面,可以做個簡單的檢查,看前面的選擇是不是您想要的

檢查無誤,點擊【下一步】,開始執行

8

好了,導出成功啦 \(^o^)/

快快去你設置的路徑找腳本吧

END

方法2:動軟代碼生成器

1

打開動軟代碼生成器,並連接上數據數

2

點擊右側的【資料庫腳本生成器】

3

選擇你要導出的資料庫

4

選擇保存的路徑和名字,然後選擇要導出的表,可以選擇全部表或部分表

設置好後,點擊【生成】

5

OK啦,是不是 So Easy
2. 如何導出一個資料庫的所有表結構
1.完整的導出整個資料庫肢碧唯表結構即dmp文件方法:

Tools-->Export Tables ,選擇Oracle Export 默認選項即可,在Output file選擇一個輸出目標

點擊Export,即可導出表結構

2.導出表中數據:

Tools-->Export Tables :選擇SQL Inserts 遇到大欄位(clob,blob)會出問題導不出來,在此可以

選擇需要導出的表,在Output file中選擇導出的目標,點擊Export即可導出,在此有幾個選項

可以去掉所有的可選項直接導出

3.導出資料庫中所有的或是所選表的資料庫建表腳本:

Tools-->Export User Objects去掉下面三個include *可選項,選擇Single file)在歷培Output file

中選擇輸出目標,點擊Export即可
3. 怎麼把SQL資料庫表的結構導出到Word
導出的方法步驟如下:

下載安裝代碼生成器

打開軟體後,點擊左上角的【新增伺服器注冊】

選擇你要新增的伺服器類型,也就是你使用的那個資料庫類型

在伺服器連接參數設置界面,設置相應的參數

通常資料庫在本地,那麼伺服器名寫個點就可以了

再輸入資料庫的登錄密碼就可以連接了

點擊連接伺服器,讓代碼生成器連接到資料庫伺服器上

這樣就可以正常訪問資料庫中的數據了

點擊右側的【資料庫文檔生成器】,打開生成資料庫文檔對慧如話框

先選擇好資料庫,然後選擇具體要導出的表

最後點擊生成,開始生成文檔

接下來就是等待啦

生成好後,文檔自動打開,保存一下就可以啦
4. 如何把已經導出表的結構導入sql資料庫表的結構
打開sql server 2008 後,選擇你要導出的資料庫

在資料庫上右擊,選擇【任務】→【生成腳本】

進入簡介頁面,直接點擊【下一步】就可以了

選擇對象頁面,可以選擇導出整個資料庫的腳本,或者其中的部分表,很靈活

進入設置腳本選項,首先把導出的路徑選擇好

防止一會兒忘記設置路徑,找不到導去哪裡了

然後點擊【高級】

在高級選項頁面,在左側找到【要編寫腳本的數據類型】,然後在右側的下拉框中選擇【架構和數據】

這一步操作千萬不要忘記了!除非你不想要數據,只要表的結構。

之後回到編寫選項的頁面,點擊【下一步】

要摘要頁面,可以做個簡單的檢查,看前面的選擇是不是您想要的

檢查無誤,點擊【下一步】,開始執行

好了,導出成功啦 \(^o^)/

快快去你設置的路徑找腳本吧