名站网址导航为大家提供关于数据库教程相关的教程网站知识。
这些包可以独立使用,也可以与其他包一起使用以满足复杂的业务需求。Integration Services 可以提取和转换来自多种源(如 XML 数据网站网站文件、平面网站网站文件和关系数据源)的数据,然后将这些数据加载到一个或多个目标。(摘自MSDN,更多详细信息可参考:(v=sql.105).aspx)SQL数据库语句实例说明 方便学习mysql的朋友
MySQL中模式就是网站数据库,ShOW DATABASES;,show databases; 罗列所有网站数据库名称,CREATE DATABASE <网站数据库名>,create database TEST; 创建名为TEST的网站数据库,DROP DATABASE <网站数据库名>,drop database TEST; 删除名为TEST的网站数据库,USE <网站数据库名>,use TEST; 使用名为TEST的网站数据库,ShOW TABLES,show tables; 显示当前网站数据库所有表格,ShOW [FULL] COLUMNS FROM <表名>,show [full] columns from <表名> 在MySQL网站数据库中显示表的结构,假如如果加上full则更加详细,DESC <表名>,desc TEST; 查看表TEST的结构,同show columns from TEST,ShOW CREATE TABLE <表名>,show create table TEST;,查看表TEST的所有信息,包括建表数据库语句,创建基本表: CREATE TABLE <表名> (<列名> <数据类型>[列级完整性约束条件], <列名> <数据类型>[列级完整性约束条件], ……………… );,create table STUDENT ( studentId int(30) primary key, name varchar(255), address varchar(255) ); 创建名,create table TEAChER ( teacherId int(30), name varchar(255), age int(20), studentId int(30), primary,修改基本表:,ALTER TABLE <表名> RENAME <修改后表名>,alter table TEAChER rename S; 将TEAChER表的表名改为S,ALTER TABLE <表名> ADD COLUMN <列名> <属性类型>,alter table TEAChER add column ADDRESS varchar(255); 在表名为TEAChER的表中加入名为ADDRESS的列,ALTER TABLE <表名> ChANGE COLUMN <列名> <修改后列名> <属性类型>,alter table TEAChER change column ADDRESS address varchar(230); 修改TEAChER表中的列,将ADDRESS的列名改为address,ALTER TABLE <表名> DROP [COLUMN] <列名>,alter table TEAChER drop [column] address; 删除列名为address的列,column可有可无,删除基本表:,DROP TABLE <表名> [RESTRICT|CASCADE] 删除表格,drop table STUDENT restrict; 删除STUDENT表。受限制的删除,欲删除的基本表不能被其他表的约束所引用(如check,foreign key等约束), 不能有视图,不能有,drop table STUDENT cascade;,若选择cascade,则该表删除没有限制。在删除基本表的同时,相关的依赖对象,例如视图,都将被一起删除。,但是我在MySQL测试的时候给错误提示Cannot delete or update a parent row: a foreign key constraint fails,不予以删除,不知道是什么,关于完整约束性:,参考文章:完整性约束的SQL定义,ALTER TABLE <表名> ADD CONSTRAINT <约束名> <约束条件>,alter table teacher add constraint pk_teacher_id primary key teacher(id);,在teacher表中增加名为pk_teacher_id的主键约束。,ALTER TABLE <表名> DROP <约束条件>,alter table teacher drop primary key;,删除teacher表的主键约束。,alter table student add constraint fk_student_teacher foreign key student(teacherId) references teac,在student表中增加名为fk_student_teacher的约束条件,约束条件为外键约束。,索引的建立与删除:,索引的建立:,CREATE [UNIQUE]|[CLUSTER] INDEX <索引名> ON <表名>(<列名> [次序][,<列名> [次序]]……);,UNIQUE 表明此索引的每一个索引值只对应唯一的数据记录。,CLUSTER 表示要建立的索引是聚簇索引。,create unique index id_index on teacher(id asc); 对teacher表的id列建立unique索引,索引名为id_index,索引的删除:,DROP INDEX <索引名> ON <表名>,drop index id_index on teacher; 在teacher表中删除索引,索引名为id_index,另外的具体相关方法:,新建索引:,ALTER TABLE <表名> ADD [UNIQUE]|[CLUSTER] INDEX [<索引名>](<列名> [<次序>],[<列名> [<次序>]]……),alter table teacher add unique index id_index(id asc); 在teacher表中对id列升序建立unique索引,索引的名字为id_index,删除索引:,ALTER TABLE <表名> DROP INDEX <索引名>,alter table teacher drop index id_index; 删除teacher表名为id_index的索引,网站数据库索引的建立有利也有弊,参考文章:
下面我使用SSIS来演示一个实际例子。比如我有一个网站数据库,出于备份数据或者其它的目的,会定期的对这个网站数据库的数据迁移到其它的网站数据库去。迁移的时候,有些新增的字段会被插入备份网站数据库,而有些被修改过的字段也会在备份网站数据库被修改。现在咱们就用SSIS来完成这项任务。
首先在我源网站数据库db_source和目标网站数据库db_destination中运行以下SQL创建好需要的表,就以这一个表test_1来进行示范。
复制具体相关代码 具体相关代码如下:
CREATE TABLE [dbo].[test_1](
[Id] [int] IDENTITY(1,1) NOT NULL primary key,
[Name] [varchar](50) NULL,
[Age] [int] NULL
)
建好表好在源数据表中可以随便加几条记录,目标网站数据库暂时留空。
现在咱们打开VS,创建一个Intergration Services Project。(注意:假如如果SQL Server 装的是Express版的话是没有这个项目工程模板的)
创建好工程后,在Control Flow这个Tab下拖入一个Data Flow Task,如下图:
双击这个Data Flow Task,咱们就会进入Data Flow这个Tab标签中。
然后咱们在左边相关工具栏里找到OLE DB Source,继续拖两个OLE DB Source出来。分别给它们命名为Source DB和Destination DB。
将数据源拖出来后,双击它,可以对它进行一些设置,主要就是链接网站数据库及选择您要进行迁移的表或者视图等设置,这里我就不详细说明了。注意一点的是就像上图所示,假如如果一个图形上出现一个红X的话说明设置有错误。
再来就是拖两个Sort及一个Merge Join出来,将之前的数据源箭头分别指向两个Sort,最后两个Sort出来的数据同时输入Merge Join中。
分别双击两个Sort,钩选表中的ID,对ID这个字段进行一次排序。因为Merge Join这个流程要求输入的数据是已排序好的。这个排序也可以直接在数据源中对它们的输出字段设置SortKeyPosition这个属性来排序。(详见:)
这里咱们第一次从Sort拉箭头到Merge Join的时候,会让咱们选择这个输入的数据是作为左输入还是右输入,咱们按照图示的那样,左边的作为左输入,右边的作为右输入。然后咱们双击Merge Join,按照如下图所示设置:
这里打钩的是这个流程之后输出的数据,Join Type需要选择为Left outer join,因为左边是咱们的原始数据表,右边是咱们备份的表,右表可以看成是一个左表的一个子集,假如如果左表有的数据,右表没有的,那些就是需要新插入备份网站数据库的数据。
现在咱们需要一个分支,即新的数据需要插入备份网站数据库中,而已有的数据需要更新为新的值。咱们从相关工具栏中拖入一个Conditional Split来进行这样的分支处理。咱们将Merge Sort中的输出指向Conditional Split,然后双击Conditional Split,如下图所示设置(注意条件一个是ISNULL,一个是非ISNULL)。
这时它们的输入值就被分成两种条件输出,最后咱们再拖入一个OLE DB Destination来插入数据和一个OLE DB Command来更新网站数据库,最终流程如下图:
双击设置OLE DB Destionation,选择好数据导入的目标网站数据库中的表,这里需要注意的就是要钩选Keep identity这个选项,因为我创建表的时候对ID字段使用了自增属性。
双击设置OLE DB Command,首先在Connection Managers这个Tab中选择好链接对象,然后在Component Properties这个选项卡中,设置您的SqlCommand属性。如下图:
这里的参数值都是用?号来代替,之后在Column Mappings这个Tab中设置代替值实际代替的列,如下图:
至此,任务就创建完毕了,没有编写任何具体相关代码,直接拖拉完成了。现在可以直接在VS中按F5运行看下效果,咱们的目标数据表将插入源数据表中的值。然后咱们修改一下原数据表,再来运行一下上面这个任务,就可以在目标网站数据库中看到更改了。
那么如何去定时完成任务哩?这里可以用SQL Server Agent去调用上面咱们写好的包, 或者在Windows计划任务中使用DTExec.exe去执行上面的任务。
关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。