??xml version="1.0" encoding="utf-8" standalone="yes"?>
2.数据定义语言.DDL create drop
3.事务控制语言.TCL commit rollback savepoint.
4.数据控制语言.DCL grant revoke.
5.数据操纵语言.DML update insert delete
]]>
什么是数据挖掘
数据挖掘(Data Mining)Q又UCؓ数据库中的知识发?Knowledge Discovery in Database, KDD)Q就是从大量数据中获取有效的、新颖的、潜在有用的、最l可理解的模式的非^凡过E,单的_数据挖掘是从大量数据中提取?#8220;挖掘”知识?
q所有的信息发现d都被视ؓ数据挖掘。例如,使用数据库管理系l查找个别的记录Q或通过因特|的搜烦引擎查找特定的Web面Q则是信息检索(information retrievalQ领域的d。虽然这些Q务是重要的,可能涉及使用复杂的算法和数据l构Q但是它们主要依赖传l的计算机科学技术和数据的明昄征来创徏索引l构Q从而有效地l织和检索信息。尽如此,数据挖掘技术也已用来增Z息检索系l的能力?br />
数据挖掘的v?/strong>
接前一节中的这些挑战,来自不同学科的研I者汇集到一P开始着手开发可以处理不同数据类型的更有效的、可伸羃的工兗这些工作徏立在研究者先前用的Ҏ学和法之上Q在数据挖掘领域辑ֈ高潮。特别地Q数据挖掘利用了来自如下一些领域的思想Q?1) 来自l计学的抽样、估计和假设验,(2) 人工、模式识别和机器学习的搜索算法、徏模技术和学习理论。数据挖掘也q速地接纳了来自其他领域的思想Q这些领域包括最优化、进化计、信息论、信号处理、可视化和信息检索?br />
一些其他领域也起到重要的支撑作用。特别地Q需要数据库pȝ提供有效的存储、烦引和查询处理支持。源于高性能Qƈ行)计算的技术在处理量数据集方面常常是重要的。分布式技术也能帮助处理v量数据,q且当数据不能集中到一起处理时更是臛_重要?br />
数据挖掘能做什?/strong>
1)数据挖掘能做以下六种不同事情Q分析方法)Q?
· 分类 QClassificationQ?
· 估|EstimationQ?br />
· 预言QPredictionQ?
· 相关性分l或兌规则QAffinity grouping or association rulesQ?
· 聚集QClusteringQ?
· 描述和可视化QDes cription and VisualizationQ?
· 复杂数据cd挖掘(Text, Web ,囑Ş囑փQ视频,音频{?
2)数据挖掘分类
以上六种数据挖掘的分析方法可以分Zc:直接数据挖掘Q间接数据挖?
· 直接数据挖掘
目标是利用可用的数据建立一个模型,q个模型对剩余的数据Q对一个特定的变量Q可以理解成数据库中表的属性,卛_Q进行描q?
· 间接数据挖掘
目标中没有选出某一具体的变量,用模型进行描qͼ而是在所有的变量中徏立v某种关系 ?br />
· 分类、估倹{预a属于直接数据挖掘Q后三种属于间接数据挖掘
3)各种分析Ҏ的简?
· 分类 QClassificationQ?
首先从数据中选出已经分好cȝ训练集,在该训练集上q用数据挖掘分类的技术,建立分类模型Q对于没有分cȝ数据q行分类?br />
例子Q?br />
a. 信用卡申误,分类Z、中、高风险
b. 分配客户到预先定义的客户分片
注意Q?cȝ个数是确定的Q预先定义好?
· 估|EstimationQ?
估g分类cMQ不同之处在于,分类描述的是L型变量的输出Q而估值处理连l值的输出Q分cȝcd是确定数目的Q估值的量是不确定的?br />
例子Q?
a. Ҏ购买模式Q估计一个家庭的孩子个数
b. Ҏ购买模式Q估计一个家庭的收入
c. 估计real estate的h?
一般来_估值可以作为分cȝ前一步工作。给定一些输入数据,通过估|得到未知的连l变量的|然后Q根据预先设定的阈|q行分类。例如:银行对家庭贷ƾ业务,q用估|l各个客戯分(Score 0~1Q。然后,Ҏ阈|贷Ƅ别分cR?
· 预言QPredictionQ?
通常Q预a是通过分类或估Dv作用的,也就是说Q通过分类或估值得出模型,该模型用于对未知变量的预a。从q种意义上说Q预a其实没有必要分ؓ一个单独的cR预a其目的是Ҏ来未知变量的预测Q这U预是需要时间来验证的,卛_ȝq一定时间后Q才知道预言准确性是多少?br />
· 相关性分l或兌规则QAffinity grouping or association rulesQ?
军_哪些事情一起发生?
例子Q?br />
a. 市中客户在购买A的同Ӟl常会购买BQ即A => B(兌规则)
b. 客户在购买A后,隔一D|_会购买B Q序列分析)
· 聚集QClusteringQ?
聚集是对记录分组Q把怼的记录在一个聚集里。聚集和分类的区别是聚集不依赖于预先定义好的c,不需要训l集?
例子Q?br />
a. 一些特定症状的聚集可能预示了一个特定的疄
b. UVCDcd不相似的客户聚集Q可能暗C成员属于不同的亚文化群
聚集通常作ؓ数据挖掘的第一步。例如,"哪一U类的促销对客户响应最好?"Q对于这一 c问题,首先Ҏ个客户做聚集Q将客户分组在各自的聚集里,然后Ҏ个不同的聚集Q回{问题,可能效果更好?
· 描述和可视化QDes cription and VisualizationQ?br />
是对数据挖掘l果的表C方式?
数据挖掘的商业背?/strong>
数据挖掘首先是需要商业环境中攉了大量的数据Q然后要求挖掘的知识是有价值的。有 价值对商业而言Q不外乎三种情况Q降低开销Q提高收入;增加股票h?br />
数据挖掘技术实?/strong>
在技术上可以Ҏ它的工作q程分ؓQ数据的抽取、数据的存储和管理、数据的展现{关键技术?
·数据的抽?
数据的抽取是数据q入仓库的入口。由于数据仓库是一个独立的数据环境Q它需要通过抽取q程数据从联机事务处理pȝ、外部数据源、脱机的数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互连、复制、增量、{换、调度和监控{几个方面的处理。在数据抽取斚wQ未来的技术发展将集中在系l功能集成化斚wQ以适应数据仓库本n或数据源的变化,使系l更便于理和维护?
·数据的存储和理
数据仓库的组l管理方式决定了它有别于传统数据库的Ҏ,也决定了其对外部数据的表现Ş式。数据仓库管理所涉及的数据量比传l事务处理大得多Q且随时间的推移而快速篏U。在数据仓库的数据存储和理中需要解决的是如何管理大量的数据、如何ƈ行处理大量的数据、如何优化查询等。目前,许多数据库厂家提供的技术解x案是扩展关系型数据库的功能,普通关pL据库攚w成适合担当数据仓库的服务器?
·数据的展?
在数据展现方面主要的方式有:
查询Q实现预定义查询、动态查询、OLAP查询与决{支持智能查询;报表Q生关pL据表根{复杂表根{OLAP表格、报告以及各U综合报表;可视化:用易于理解的点线图、直方图、饼图、网状图、交互式可视化、动态模拟、计机动画技术表现复杂数据及其相互关p;l计Q进行^均倹{最大倹{最倹{期望、方差、汇怅R排序等各种l计分析Q挖掘:利用数据挖掘{方法,从数据中得到关于数据关系和模式的知识?
数据挖掘与数据仓库融合发?/strong>
数据挖掘和数据仓库的协同工作Q一斚wQ可以迎合和化数据挖掘过E中的重要步骤,提高数据挖掘的效率和能力Q确保数据挖掘中数据来源的广泛性和完整性。另一斚wQ数据挖掘技术已l成为数据仓库应用中极ؓ重要和相对独立的斚w和工兗?
数据挖掘和数据仓库是融合与互动发展的Q其学术研究价值和应用研究前景是令h振奋的。它是数据挖掘专家、数据仓库技术h员和行业专家共同努力的成果,更是q大渴望从数据库“奴隶”到数据库“Mh”转变的企业最l用L通途?br />
]]>
首先Q?/font>collate是一个子句,可应用于数据库定义或列定义以定义排序规则Q或应用于字W串表达式以应用排序规则投媄?/span>
语法?/font>collate collation_name
collation_name
参数collate_name是应用于表达式、列定义或数据库定义的排序规则的名称?/font>collation_name 可以只是指定?/font> Windows_collation_name ?/font> SQL_collation_name?/span>
Windows_collation_name ?/font> Windows 排序规则的排序规则名U。参?/font> Windows 排序规则名称?/font>
SQL_collation_name ?/font> SQL 排序规则的排序规则名U。参?/font> SQL 排序规则名称?/font>
下面单介l一?/font>排序规则Q?/span>
什么叫排序规则呢?MS是这hq的Q?/font>"?/font> Microsoft SQL Server 2000 中,
字符串的物理存储由排序规则控制。排序规则指定表C每个字W的位模式以及存
储和比较字符所使用的规则?/font>"
在查询分析器内执行下面语句,可以得到SQL SERVER支持的所有排序规则?/span>
select * from ::fn_helpcollations()
排序规则名称׃部䆾构成Q前半部份是指本排序规则所支持的字W集?/font>
如:
Chinese_PRC_CS_AI_WS
前半部䆾Q指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则?/font>
排序规则的后半部份即后缀 含义Q?/font>
_BIN 二进制排?/font>
_CI(CS) 是否区分大小写,CI不区分,CS区分
_AI(AS) 是否区分重音Q?/font>AI不区分,AS区分
_KI(KS) 是否区分假名cd,KI不区分,KS区分
_WI(WS) 是否区分宽度 WI不区分,WS区分
区分大小?/font>:如果惌比较大写字母和写字母视ؓ不等Q请选择该选项?/font>
区分重音:如果惌比较重韛_非重韛_母视Z{,请选择该选项。如果选择该选项Q?/font>
比较q将重音不同的字母视Z{?/font>
区分假名:如果惌比较片假名和^假名日语韌视ؓ不等Q请选择该选项?/font>
区分宽度:如果惌比较半角字W和全角字符视ؓ不等Q请选择该选项
1Q?strong>创徏数据库(createQ:create database database-name;
eg. create database test;
2Q?strong>删除数据库:drop database dbname;
eg.drop database test;
3Q?strong>创徏新表Q?/strong>create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..);
eg.Ҏ已有的表创徏新表的例子:create table tab_new like tab_oldQcreate table tab_new as select col1,col2?from tab_old definition only;
4Q?strong>删除表:drop table tabname;
5Q?strong>增加列:alter table tabname add column col type;
6Q?strong>d主键Q?alter table tabname add primary key(col) ;
7Q?strong>删除主键Qalter table tabname drop primary key(col) ;
8Q?strong>创徏索引Qcreate [unique] index idxname on tabname(col?) ;
9Q?strong>删除索引Qdrop index idxname; 注:索引是不可更改的Q想更改必须删除重新建;
10Q?strong>创徏视图Qcreate view viewname as select statement;
2. 数据操纵语言QDMLQ?/strong>
1Q查询语句(selectQ?/strong>
eg1. select * from table1 where field1 like '%value1%';
eg2. select * from table1 order by field1,field2 [desc];
eg3. select count as totalcount from table1;
eg4. select sum(field1) as sumvalue from table1;
eg5. select avg(field1) as avgvalue from table1;
eg6. select max(field1) as maxvalue from table1;
eg7. select min(field1) as minvalue from table1;
eg8. select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c;Q注Q此为左外连接,l果集中包括q接表的匚w行,也包括左q接表的所有行Q?/p>
2Q插入语句(insertQ?/strong>
insert into table1(field1,field2) values(value1,value2);
3Q删除语句(deleteQ?/strong>
delete from table1 where 范围;
4Q更新语句(updateQ?/strong>
update table1 set field1=value1 where 范围;
3. 数据控制语言QDCLQ?/strong>
1Q授予权限语句(GRANTQ?/strong>
GRANT privileges (columns) ON what TO user IDENTIFIED BY "password" WITH GRANT OPTION;
其中Qprivileges可ؓ如下限定W:ALTER 修改表和索引、CREATE Q创建数据库和表Q、DELETEQ?删除表中已有的记录)、DROP Q删除数据库和表Q、INDEX Q创建或删除索引Q、INSERTQ?向表中插入新行)、REFERENCEQ?未用Q、SELECT Q检索表中的记录Q、UPDATE Q修改现存表记录Q、FILE Q读或写服务器上的文Ӟ、PROCESSQ?查看服务器中执行的线E信息或杀ȝE)、RELOAD Q重载授权表或清I日志、主机缓存或表缓存)、SHUTDOWNQ?关闭服务器)、ALL 所有;ALL PRIVILEGES同义词、USAGE Q特D的“无权限”权限)
columnsQ权限运用的列,它是可选的Qƈ且你只能讄列特定的权限。如果命令有多于一个列Q应该用逗号分开它们Q?/p>
whatQ权限运用的U别。权限可以是全局的(适用于所有数据库和所有表Q、特定数据库Q适用于一个数据库中的所有表Q或特定表的。可以通过指定一个columns字句是权限是列特定的?/p>
user Q权限授予的用户Q它׃个用户名和主机名l成。MySQL中的一个用户名?悄懔臃衿敝付ǖ挠没?该名字不必与你的Unixd名或Windows名联pv来。缺省地Q如果你不明指定一个名字,客户E序?br />你的d名作为MySQL用户名。这只是一个约定。你可以在授权表中将该名字改为nobodyQ然后以nobodyq接
执行需要超U用h限的操作?/p>
passwordQ赋予用L口oQ它是可选的。如果你Ҏ用户没有指定IDENTIFIED BY子句Q该用户不赋l口令(不安全)。对现有用户QQ何你指定的口令将代替老口令。如果你不指定口令,老口令保持不变,当你用IDENTIFIED BY
Ӟ口o字符串用改用口o的字面含义,GRANTؓ你编码口令,不要象你用SET PASSWORD 那样使用password()
函数?/p>
WITH GRANT OPTION子句是可选的。如果你包含它,用户可以授予权限通过GRANT语句授权l其它用戗你可以用该子句l与其它用户授权的能力?/p>
用户名、口令、数据库和表名在授权表记录中是大写敏感的,L名和列名不是?br /> eg1. 创徏一个超U用户test1
grant all privilleges on *.* to test1@localhost identified by '123456' with grant option;
eg2. 创徏一个只能查询的用户 test2
mysql> grant select on *.* to test2@localhost identified by '9876543';
2) 撤权q删除用PrevokeQ?/strong>
要取消一个用L权限Q用REVOKE语句。REVOKE的语法非常类gGRANT语句Q除了TO用FROM取代q且没有INDETIFED BY和WITH GRANT OPTION子句Q?br />
revoke privileges (columns) ON what FROM user
user部分必须匚w原来GRANT语句的你x权的用户的user部分。privileges部分不需匚wQ你可以用GRANT
语句授权Q然后用REVOKE语句只撤销部分权限。REVOKE语句只删除权限,而不删除用户。即使你撤销了所?br />权限Q在user表中的用戯录依然保留,q意味着用户仍然可以q接服务器。要完全删除一个用P你必?br />用一条DELETE语句明确从user表中删除用户记录Q?br />
#mysql -u root mysql
DELETE FROM user WHERE User="user_name" and Host="host_name";
FLUSH PRIVILEGES;
DELETE语句删除用户记录Q而FLUSH语句告诉服务器重载授权表。(当你使用GRANT和REVOKE语句Ӟ表自动重载,而你直接修改授权表时不是。)
eg. 删除用户test1
revoke all on *.* from test2@localhost;
use mysql;
delete from user where user='test' and host='localhost';
flush privileges;
3Q提交语句(commitQ?/strong>
4Q回滚语句(rollbackQ?/strong>