IF判断是判断是不是已经存在了同名的数据库了?如果存在,那么删除掉。
这样才能保证你下边创建数据库编码不会冲突,否则如果IF成立,会存在同名的数据库,你创建会提示错误的。
USE Q1,表示将数据库切换到Q1上去,这样你再写SQL语句,就是在这个数据库上运行了。
比如登录查询分析器默认的数据库是MASTER,而USER Q1,会将数据库切换到Q1上。
mastersysdatabases 这个意思是master数据库里面的sysdatabases表,此处必须是两点,前边不是表名,而是数据库名。比如你查询分析器连接的是Q1数据库,而这时候你想直接跨库查询northwind数据库的表数据,select from northwindcategory
两个点前边的是数据库名,后边是表名。
1
CREATE DATABASE [Nor] ON (NAME = N'Nor', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\normdf' , SIZE = 4, FILEGROWTH = 10%) LOG ON (NAME = N'Nor_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\norldf' , SIZE = 1, FILEGROWTH = 10%)
COLLATE Chinese_PRC_CI_AS
GO
exec sp_dboption N'Nor', N'autoclose', N'false'
GO
exec sp_dboption N'Nor', N'bulkcopy', N'true'
GO
exec sp_dboption N'Nor', N'trunc log', N'true'
GO
exec sp_dboption N'Nor', N'torn page detection', N'true'
GO
exec sp_dboption N'Nor', N'read only', N'false'
GO
exec sp_dboption N'Nor', N'dbo use', N'false'
GO
exec sp_dboption N'Nor', N'single', N'false'
GO
exec sp_dboption N'Nor', N'autoshrink', N'false'
GO
exec sp_dboption N'Nor', N'ANSI null default', N'false'
GO
exec sp_dboption N'Nor', N'recursive triggers', N'false'
GO
exec sp_dboption N'Nor', N'ANSI nulls', N'false'
GO
exec sp_dboption N'Nor', N'concat null yields null', N'false'
GO
exec sp_dboption N'Nor', N'cursor close on commit', N'false'
GO
exec sp_dboption N'Nor', N'default to local cursor', N'false'
GO
exec sp_dboption N'Nor', N'quoted identifier', N'false'
GO
exec sp_dboption N'Nor', N'ANSI warnings', N'false'
GO
exec sp_dboption N'Nor', N'auto create statistics', N'true'
GO
exec sp_dboption N'Nor', N'auto update statistics', N'true'
GO
if( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 0xffff >= 724) )
exec sp_dboption N'Nor', N'db chaining', N'false'
GO
2
select into nordboorders from northwinddboorders where 1=0
3
insert into nordboorders ( [CustomerID], [EmployeeID], [OrderDate], [RequiredDate], [ShippedDate], [ShipVia], [Freight], [ShipName], [ShipAddress], [ShipCity], [ShipRegion], [ShipPostalCode], [ShipCountry]) (select [CustomerID], [EmployeeID], [OrderDate], [RequiredDate], [ShippedDate], [ShipVia], [Freight], [ShipName], [ShipAddress], [ShipCity], [ShipRegion], [ShipPostalCode], [ShipCountry] from northwinddboorders)
4
UPDATE [Northwind][dbo][orders]
SET freight=freight15
5
insert into employees (lastname,firstname)
values ('bb','aa')
6
update nororders
set norordersorderdate=(select northwindordersorderdate from northwindorders
where northwindorderscustomerid=nororderscustomerid
and northwindordersemployeeid=norordersemployeeid
and northwindordersshipvia=norordersshipvia
and northwindordersfreight=norordersfreight)
7
DELETE FROM [Nor][dbo][orders]
WHERE employeeid in (select employeeid from northwindemployees)
通过交叉表查询可以创建更易于分析数据的摘要视图。本文介绍如何使用和不使用向导在 Microsoft Access 中创建交叉表查询。 注意: 如果您按照这些步骤在此示例中,您修改示例数据库 Northwindmdb。您可能希望备份 Northwindmdb 文件并在该数据库的副本,请按照下列步骤。
通过使用交叉表查询向导创建交叉表查询
启动 Microsoft Access,然后打开示例数据库 Northwindmdb。
在 视图 菜单上指向 数据库对象,然后单击 查询。
在 插入 菜单上单击 查询。
新建查询 对话框中单击 交叉表查询向导,然后单击 确定。
在交叉表查询向导的第一页上单击从列表中的表,订单,然后单击 下一步。
要将其添加到列表中的 选定字段 框中,可用字段 的列表中双击 雇员 id,然后单击 下一步。这将用一条记录,每个雇员创建查询。
在列表中的字段,单击 订购日期,然后单击 下一步。
单击日期间隔 年,然后单击 下一步。这将用每年的订单日期的一列创建一个查询。
从字段列表中单击 订单 id、 单击列表中的 函数,计数,然后单击 下一步。
在向导的最后一页上,单击 完成。 请注意创建一个查询,按年显示雇员的订单数。
不使用向导创建交叉表查询
启动 Microsoft Access,然后打开示例数据库 Northwindmdb。
在 视图 菜单上指向 数据库对象,然后单击 查询。
在 插入 菜单上单击 查询。
新建查询 对话框中单击 设计视图,然后单击 确定。
显示表 对话框中单击 订单 表,单击 添加,然后单击 关闭。
在查询设计网格的上半部分的订单表中在字段列表中双击以将其添加到查询设计网格中下列字段: 货主国家/地区、 货主国家、 ShipVia 和 运费。
在 查询 菜单上单击 交叉表查询。请注意将行添加到名为 交叉表 查询设计网格。
在 货主国家/地区 列下的 交叉表 行单元格中单击并单击所出现的箭头然后单击 行标题。
货主国家 列下的 交叉表 行单元格中单击并单击箭头显示,然后单击 行标题。
ShipVia 列下的 交叉表 行单元格中单击并单击箭头显示,然后单击 列标题。
在 运货费 列下的 交叉表 行单元格中单击并单击所出现的箭头然后单击 值。请注意,只有一个字段可以设置为 值。
在 运货费 列下的 总计 行单元格中单击并单击,将出现的箭头然后单击 求和。
在 查询 菜单上单击 $ 运行 以查看在交叉表查询的结果。
前言
VB对数据库的编程有多种方法,如:ODBC API编程、RDO(远程数据对象)、DAO(数据访问对象)、ADO(ActiveX 数据对象)方法编程实现方便、快捷,但灵活性稍差。由于存储过程具有实现数据封装、隐藏以及代码的预编译、减少网络负载、维护方便等优点,所以被许多RDMBS和编程工具做支持。VB中的各类数据对象均都提供对存储过程的支持。所以要灵活掌握调用存储过程这一技术是十分必要。现在将VB中实现动态调用含DateTime类型的存储过程介绍给读者,让您很快掌握和运用这个方法,解决你身边的问题。
一、 简述SQL Server 2000 日期时间类型(含dateTime类型字段)
该类型是由有效的日期或时间组成;年-月-日 小时:分:秒千分之秒。其格式:
在现阶段开发设计ERP系统项目中,尤其在创建数据库表结构时,均要考虑到DateTime字段的应用,它能记载信息发生时间段的信息,能充分反映该区间数据变化;除特殊情况下(如:网吧、游戏吧等需记录小时、分、秒)之外,一般要考虑到日期范围即:[年、月、日]。
二、 我们以ADO为例来说明其实现步骤
现在动态调用含有DateTime字段的存储过程,以帮助理解和掌握调用存储过方法:
1>、使用Northwind的MS SQL中的例子库(此例子SQL Server2000自带)
Create procedure "Employee Sales by Country"
@Beginning_Date DateTime, @Ending_Date DateTime AS
SELECT EmployeesCountry, EmployeesLastName, EmployeesFirstName,
OrdersShippedDate, OrdersOrderID, "Order Subtotals"Subtotal AS SaleAmount
FROM Employees INNER JOIN
(Orders INNER JOIN "Order Subtotals" ON OrdersOrderID = "Order Subtotals"OrderID)
ON EmployeesEmployeeID = OrdersEmployeeID
WHERE OrdersShippedDate Between @Beginning_Date And @Ending_Date
GO
2>、在VB中生成一个新工程,工程添加一个窗体,三个Command(1,2,3)按钮,一个ListView控件,两个日期DTpicker控件,两个标签Label控件,一个文本TextBox控件。
3>、编程的设计思路
基于SQL Server数据库表结构定义DateTime类型的特点,我们采取截取有效日期部分,实现对这个含有DateTime字段的存储过程动态调用,具体步骤如下:
①定义:Dim Dt10,DT20 as Variant
②采集动态日期赋值于以上两个变量中
DT10 = Format(Trim(DT1Value), "yyyy-mm-dd")
DT20 = Format(Trim(DT2Value), "yyyy-mm-dd")
具备以上条件,可快捷、方便地获取动态日期区间内数据表的结果集。
下面就严格执行调用存储过程语法格式就可以了。请详见VB的代码。
以上就是关于SQL创建数据库全部的内容,包括:SQL创建数据库、SQL SERVER查询题目,帮忙写下。。(做第6和7题就可以了)、谁能教下用ACCESS建一个交叉表查询数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)