当前位置:首页 » 编程语言 » 选择结构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^)/

快快去你设置的路径找脚本吧