数据库之基础知识

<!--[if !supportLists]-->一、      <!--[endif]-->mysql入门语句

<!--[if !supportLists]-->1.       <!--[endif]-->连接数据库:mysql -h localhost -u root –p

-h 如果不写host,默认连接localhost

<!--[if !supportLists]-->2.       <!--[endif]--> 查看数据库:show databases;  

<!--[if !supportLists]-->3.       <!--[endif]--> 创建数据库:create database php;

<!--[if !supportLists]-->4.       <!--[endif]--> 进入数据库:use php

<!--[if !supportLists]-->5.       <!--[endif]--> 查看表:show tables;

<!--[if !supportLists]-->6.       <!--[endif]--> 删除数据库:drop database php;

<!--[if !supportLists]-->7.       <!--[endif]--> 创建表:create table class (sid int,sname varchar(20));

<!--[if !supportLists]-->8.       <!--[endif]--> 重命名表:rename table class to newclass;

<!--[if !supportLists]-->9.       <!--[endif]--> 删除表:drop table s;

<!--[if !supportLists]-->10.   <!--[endif]--> 查看表结构:desc newclass;

<!--[if !supportLists]-->11.   <!--[endif]--> 优雅退出:\c

<!--[if !supportLists]-->12.   <!--[endif]--> 解决字符集问题:默认window下是GBK,系统表是UTF-8set names gbk;

、增删改查语句

<!--[if !supportLists]-->1.       <!--[endif]-->插入语句:insert into class values(1005,'王五'),(1006,'王六'); 同时插入多行

<!--[if !supportLists]-->2.       <!--[endif]-->更新语句:update classs set name=’李四’ where id=1001;

<!--[if !supportLists]-->3.       <!--[endif]-->删除语句:delete from class where id=’’;

<!--[if !supportLists]-->4.       <!--[endif]-->查询语句:select * from class;

、整型列的字节与存储范围

<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1041" type="#_x0000_t75" style='width:415.5pt; height:3in;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" o:title=""/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

<!--[if !supportLists]-->1.       <!--[endif]--> tinyint(M) unsigned zerofill

M: 宽度(0填充的时候才有意义)

unsigned: 无符号类型(非负)

zerofill: 0填充,(默认无符号)

四、浮点列

<!--[if !supportLists]-->1.       <!--[endif]--> Float(M,D)   float(6,2) à -9999.99 --+9999.99

<!--[if !supportLists]-->2.       <!--[endif]--> Decimal(M,D) decimal(6,2) à同上

M 总位数,D小数位

五、字符型列

  Char 定长 char(M) ,M代表宽度,即可容纳的字符数。char(5)

Varchar :变长 varchar(M)M代表宽度,即可容纳的字符数。varchar(250)

区别:

<!--[if !supportLists]-->            <!--[endif]-->char定长:M个字符,若存的小于M个字符,实占M个字符。  

Varchar变长:M个字符,若存的小于M个字符,设为NN<=M,实占N个字符。实占空间:N个字符+1--2)字节。这里(1--2)字节用于记录varchar长度。

char:存入时,剩余空间,用空格在尾部补齐。读取时,去掉尾部空格。(可能导致尾部空格丢失)

    Varchar: (不会导致尾部空格丢失)

速度上:char 快些。

空间利用率:四字成语表 char(4) ;

               微博 140 varchar(140);

<!--[if gte vml 1]><v:shape id="图片_x0020_2" o:spid="_x0000_i1040" type="#_x0000_t75" style='width:415.5pt;height:174pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png" o:title=""/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

六、日期时间类型

<!--[if !supportLists]-->1.       <!--[endif]--> 日期:date   典型1900-11-23 支持的范围是'1000-01-01' '9999-12-31'

<!--[if !supportLists]-->2.       <!--[endif]--> 时间:time   TIME值的范围可以从'-838:59:59''838:59:59'

<!--[if !supportLists]-->3.       <!--[endif]--> 日期时间:datetime  支持的范围为'1000-01-01 00:00:00''9999-12-31 23:59:59'

<!--[if !supportLists]-->4.       <!--[endif]--> Year类型:一个字节,表示1901-2155[0000表示错误时选择]

 可以指定各种格式的YEAR值:

· 四位字符串,范围为'1901''2155'

· 四位数字,范围为19012155

· 两位字符串,范围为'00''99''00''69''70''99'范围的值被转换为2000206919701999范围的YEAR值。

Note:

     在开发中,很少用日期时间类型表示一个需要精确到秒的列。使用时间戳。

<!--[if !supportLists]-->5.       <!--[endif]--> 时间戳:TIMESTAMP

七、建表语句:

 

create table 表名 (

1 [列属性 默认值],

2 [列属性 默认值],

.....

n [列属性 默认值]

)

engine = 存储引擎

charset = 字符集

 

八、Where 详解

<!--[if gte vml 1]><v:shape id="_x0000_i1039" type="#_x0000_t75" style='width:415.5pt;height:237.75pt;visibility:visible; mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image005.png" o:title=""/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

<!--[if !supportLists]-->1.       <!--[endif]--> inin(1, 2,…, n)   表示在值1到值n中的任意一个值。Not in(…)

<!--[if !supportLists]-->2.       <!--[endif]--> between 1 and2:表示在值1和值2之间

<!--[if !supportLists]-->3.       <!--[endif]--> Like  + 通配符

九、 Group by 子句

分组函数,group 函数会忽略 NULL 值。

与聚合函数配合使用:

<!--[if !supportLists]-->ü   <!--[endif]-->max : 求最大

<!--[if !supportLists]-->ü   <!--[endif]-->min : 求最小

<!--[if !supportLists]-->ü   <!--[endif]-->sum : 求总和

<!--[if !supportLists]-->ü   <!--[endif]-->avg : 求平均

<!--[if !supportLists]-->ü   <!--[endif]-->count:求总行数

avg(expr):若找不到匹配的行,则AVG()返回 NULL

count(expr): 返回SELECT语句检索到的行中非NULL值的数目。

若找不到匹配的行,则COUNT() 返回 0

COUNT(*) 的稍微不同之处在于,它返回检索行的数目, 不论其是否包含 NULL值。

SELECT 从一个表中检索,而不检索其它的列,并且没有 WHERE子句时, COUNT(*)被优化到最快的返回速度

MIN(expr)MAX(expr):若找不到匹配的行,MIN()MAX()返回 NULL

SUM(expr):若返回集合中无任何行,则 SUM() 返回NULL

 

十、Having 子句

havingwhere异同点:

1havingwhere类似,可筛选数据

where后的表达式怎么写,having就怎么写

2where针对表中的列发挥作用,查询数据

having针对查询结果中的列发挥作用,筛选数据

 

 

十一、Order by  limit 子句 

Order by 可以多字段排序 默认升序(asc),降序(desc

Limit [offset],[N]offset 偏移量,N 所取数据条数

第一个自变量指定返回的第一行的偏移量,第二个自变量指定返回的行数的最大值。初始行的偏移量为0(不是1):

LIMIT nLIMIT 0,n等价

十二、子查询

<!--[if !supportLists]-->1、   <!--[endif]-->Where子查询

把内层查询结果作为外层的where比较条件。

内层查询有多个结果时,使用in not in

<!--[if !supportLists]-->2、   <!--[endif]--> From 子查询

把内层查询结果作为临时表,再在外层进行一次查询 需要加 as temp_table

<!--[if !supportLists]-->3、   <!--[endif]-->Exists 子查询

把外层查询结果拿到内层,看内层的查询是否成立

Select c_id, c_name from t1 where exists(select  g_id,cate_id  from goods where  cate_id=c_id)

 

 

十三、Union

作用:把2次或多次查询结果合并起来

要求:两次查询的列数一致

推荐:查询的每一列的列类型也一样

可以来自多张表

多次sql语句取出来的列名可以不一致,此时,以第一张表的sql列名为准。

<!--[if !supportLists]-->1、  <!--[endif]-->若合并的各表无论有无主键,皆全部合并(应该union出来的是临时表,不会有主键问题),各自表的内容不做任何处理。但是,若不同的语句取出的行,有完全相同(每个列的值相同),则只能显示一条数据,忽略其他相同行。如果不去重复,应该使用 union all

<!--[if !supportLists]-->2、  <!--[endif]-->如果子句中有order by limit 等子句,需要把前面的子句使用括号包起来。若把order bylimit等子句放到最外面,则表明对最终合并后结果进行排序处理。

<!--[if !supportLists]-->3、  <!--[endif]-->在子句中,order by 配合limit 使用才有意义。若order by 不配合limit使用,会被语法分析器优化分析时,去除。

总结:

<!--[if !supportLists]-->4、<!--[endif]--><!--[if gte vml 1]><v:shape id="图片_x0020_9" o:spid="_x0000_i1038" type="#_x0000_t75" style='width:246.75pt;height:149.25pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image007.jpg" o:title="8_UX$[Q$V8K%PGB2S$6T$}E"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

 

十四、 连接概念与左连接语法

        基本概念:笛卡尔乘积

         左连接:select 1 2 …

                            From  tableA  left join tableB

                            On tableA .=tableB. [此处表连接成一张大表,完全当成普通表看]

                   Where group by having … 照常使用。

         右连接:select 1 2 …

                            From  tableA  right join tableB

                            On tableA .=tableB. 其他类似左连接

         内连接:select 1 2 …

                            From  tableA  inner join tableB

                            On tableA .=tableB. 其他类似左连接

         内连接:查询左右表都有的数据,即:不要左右连接中null的那部分

                            内连接是左右连接的交集。

         区别:

<!--[if !supportLists]-->1、  <!--[endif]-->左连接: 左表为准,去右表找匹配数据,若右表没有匹配数据,则以null补齐;

<!--[if !supportLists]-->2、  <!--[endif]-->右连接:以右表为准,去左表找匹配数据,若左表没有匹配数据,则以null补齐;

<!--[if !supportLists]-->3、  <!--[endif]--> A left join B ===B right join A

推荐:把右连接转换成做连接使用(推荐使用左连接,兼容性更好一些)

                   总结:

                            <!--[if gte vml 1]><v:shape id="图片_x0020_11" o:spid="_x0000_i1037" type="#_x0000_t75" style='width:219.75pt;height:188.25pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image008.jpg" o:title="~)(`[5WQK[)R11N]4VLP6N7"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

十五、 表管理之列增删改

列声明:列名 列类型 [列属性][默认值]

1、增加列:

Alter   table  XXXtable  add 列声明

                   增加的列默认在表的最后一列。

                   可以使用after来声明新增的列的:alter  table  A  add   id  int  primary key   after colum_2;

                   新增列放在最前面: alter table 表名 add 列声明  first

                   2、修改列:

                            Alter table 表名 change 被改变的列名  列声明;

<!--[if !supportLists]-->4、  <!--[endif]-->删除列:

Alter table  表名  drop  列名;

                   总结:

           <!--[if gte vml 1]><v:shape id="图片_x0020_19" o:spid="_x0000_i1036" type="#_x0000_t75" style='width:275.25pt;height:123.75pt;visibility:visible; mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image009.jpg" o:title="L7O0XJI09W9O5Q$@)$86ZKG"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

十六、视图

背景:某个查询结果被频繁使用,即需要拿这个结果作为子查询出现。

定义:视图是由查询结果形成的一张虚拟表。

创建视图:

Creat   view  视图名  as  select 语句;

         CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

        VIEW view_name [(column_list)]

         AS select_statement

        [WITH [CASCADED | LOCAL] CHECK OPTION]

 

视图好处:

<!--[if !supportLists]-->1、  <!--[endif]-->可以简化查询;

<!--[if !supportLists]-->2、  <!--[endif]-->可以进行权限控制。即表的某些列不希望被外部发现,需要建一个view 进行过滤。通过把表的权限封锁,而开发相应的视图权限。

<!--[if !supportLists]-->3、  <!--[endif]-->大数据分表时可以用到

比如,表的行数超过200W行时,就会变慢。

可以把一张表的数据拆成4张表存放。

分散的方法:最常用可以使用id取模来计算。

还可以用视图,把4张表形成一张视图:

Creat view 表名 as select tableA union select tableB union ….

                   修改视图:

                            Alter  view 视图名 as select XXXX

                   删除视图:

                            Drop  view 视图名;

                   视图与表的关系:

<!--[if !supportLists]-->1、  <!--[endif]-->视图是表的查询结果,自然表的数据改变了,影响视图的结果。

<!--[if !supportLists]-->2、  <!--[endif]-->视图增删改也会影响表。但是,视图并不是总能增删改的。只有视图和表的数据能一一对应时,可以修改(即视图列与表相同)。

对于视图insert 还应注意:

视图必须包含表中没有默认值的列(即,视图需要明确指明插入列的数据)。

ALGORITHM子句

是对标准SQLMySQL扩展。ALGORITHM可取三个值:MERGETEMPTABLEUNDEFINED。如果没有ALGORITHM子句,默认算法是UNDEFINED(未定义的)。算法会影响MySQL处理视图的方式。

<!--[if !supportLists]-->  <!--[endif]-->对于MERGE,会将引用视图的语句(如查询语句where语句)的文本与视图定义(中的where 语句)合并起来,使得视图定义的某一部分取代语句的对应部分。分析出最终语句后还是去查原表。(详细请参看《Mysql 5.1参看手册》)

会出现的问题:在view 层有函数集、group by 等时,会先合并到 视图定义语句中,最终,使用合并好的语句对基表进行查询。此时,合并好的语句中的某些子语句可能不生效。必须group by order by 共存 等等情况。

<!--[if !supportLists]-->  <!--[endif]-->对于TEMPTABLE,视图的结果将被置于临时表中,然后使用它执行语句。

View 层语句将对[临时表 sql_1]进行查询。而[临时表 sql_1]对基表进行查询。

对于UNDEFINEDMySQL将选择所要使用的算法。如果可能,它倾向于MERGE而不是TEMPTABLE,这是因为MERGE通常更有效,而且如果使用了临时表,视图是不可更新的。

                  Tips: show creat view 可以查看“创建view ”的原sql语句;

总结:

                   <!--[if gte vml 1]><v:shape id="图片_x0020_30" o:spid="_x0000_i1035" type="#_x0000_t75" style='width:424.5pt;height:148.5pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image010.jpg" o:title="N9)6BWMPYZ[7U)J(`~$_4@0"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

                  

十七、 字符集与校对集

1、字符集:

<!--[if gte vml 1]><v:shape id="_x0000_i1034" type="#_x0000_t75" style='width:510.75pt;height:306pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image011.jpg" o:title="()}0A89R3F16)PQ55O1AM19"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

SET NAMES 'x'语句与这三个语句等价:

               mysql> SET character_set_client = x;
               mysql> SET character_set_results = x;
               mysql> SET character_set_connection = x;

       

什么时间将会丢失数据?

        Connection 和服务器的字符集比client小时。详情请查看《mysql 5.1参看手册》 “10.3.6. 连接字符集和校对”章节。

<!--[if gte vml 1]><v:shape id="图片_x0020_3" o:spid="_x0000_i1033" type="#_x0000_t75" style='width:450.75pt;height:93.75pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image012.jpg" o:title="8J7TCMNZ33EJSHZMK7[ZC01"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

<!--[if !supportLists]-->2、<!--[endif]-->校对集

    <!--[if gte vml 1]><v:shape id="图片_x0020_5" o:spid="_x0000_i1032" type="#_x0000_t75" style='width:431.25pt;height:122.25pt;visibility:visible; mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image013.jpg" o:title="]8@T$N7TI)Y4RGM$%~J053E"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

总结:

         <!--[if gte vml 1]><v:shape id="图片_x0020_34" o:spid="_x0000_i1031" type="#_x0000_t75" style='width:333.75pt;height:230.25pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image014.jpg" o:title="%M%4}P}}KOBEN2B3EG`VO0P"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

 

 

 

十八、触发器

<!--[if !supportLists]-->1、  <!--[endif]-->基本概念:

解决的问题:可以监视某表的变化,当发生变化时,触发某个操作。

能监视:增、删、改操作;

能操作:增、删、改操作。

语法:

<!--[if !supportLists]-->2、  <!--[endif]-->语法

四要素: 

<!--[if gte vml 1]><v:shape id="图片_x0020_1" o:spid="_x0000_i1030" type="#_x0000_t75" style='width:372.75pt;height:168.75pt;visibility:visible; mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image015.jpg" o:title="_ECL$]7`B6XX__}L3N5%V61"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

创建触发器sql

Creat trigger  触发器名

After/before  insert/update/delete  on 表名

FOR EACH ROW (这个语句是mysql特定的)

Begin

Sql语句(对表增删改操作,一句或多句)

End

写触发器之前,需要修改结束符号,即把默认的“;”改成类似“$”或其他的符号。

例子:

               DELIMITER $(修改结束符)
 
               CREATE TRIGGER testref BEFORE INSERT ON test1
                FOR EACH ROW 
               BEGIN
                       INSERT INTO test2 SET a2 = NEW.a1;
                       DELETE FROM test3 WHERE a3 = NEW.a1;  
                       UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
                END
               $(结束符)

<!--[if !supportLists]-->3、  <!--[endif]-->  如何在触发器引用行的值

<!--[if !supportLists]-->   <!--[endif]-->对于insert而言,使用 NEW来表示新增行

行中的每一列的值,用NEW.列名  来表示;

例子如上面所示。

<!--[if !supportLists]-->   <!--[endif]-->对于delete而言,使用 OLD来表示删除行

行中的每一列的值,使用 OLD.列名 来表示;

如删除订单物品:

Creat  trigger  trigger_1 

   After  delete  on  table_1

   Begin

                    Updata table_2  set  num = num – OLD.num where  id = OLD.id

End 

<!--[if !supportLists]-->   <!--[endif]-->对于update 而言,被修改的行:

修改前的值:使用OLD 来表示, OLD.列名 表示列值;

修改后的值:使用 NEW 来表示, NEW.列名 表示列值。

如修改订单物品数量:

Create  trigger  trigger_2

After   update  on table_2

For each row

Begin

   Update  table_3  set  num = num + OLD.num – NEW.num where id  =  OLD.id

End 

<!--[if !supportLists]-->4、  <!--[endif]-->  After before 的区别

After  是先完成数据的增删改,后,再触发,触发中的语句晚于增删改,无法影响前面的增删改操作;

Before  是先完成触发,再增删改,触发的语句先于监视的增删改,我们有机会判断,修改即将发生的操作。

典型案例:

对于所下订单进行判断,若订单数据>5,就认为是恶意订单,强制把所订的商品数据改成5

Create  trigger  trigger_3

Before  insert  on  table_5

For each row

Begin

           If  new.num > 5 

                      New.num = 5;

     End  if

           Update  table_6  set  num = num – new.num where id = new.id

End

十九、 存储引擎与事务

常用的表引擎:

Myisam:批量插入速度快,不支持事务,锁表

InnoDB:批量插入相对较慢,支持事务,锁行

 

事务:

选择引擎:InnoDB

<!--[if !supportLists]-->1、  <!--[endif]-->基本概念:

通俗的讲事务:

指一组操作,要么都执行成功,要么都不执行——>原子性;

在所有的操作没有执行完毕之前,其他会话不能够看到中间改变的过程——>隔离性;

事务发生前和发生后,数据的总额依然匹配——>一致性;

事务产生的影响不能够撤销——>持久性;

如果出了错误,事务也不允许撤销,只能做“补偿性事务”

<!--[if !supportLists]-->2、  <!--[endif]-->语法:

启动事务:start   transaction

         Sql……

         Sql……

提交事务:commit  transaction

回滚事务:rollback  transaction

                   当一个事务 commit rollback 之后,此事务已结束。

<!--[if !supportLists]-->3、  <!--[endif]--> 事务的基本原理

 

 

二十、数据库备份与恢复

备份:

         增量备份、整体备份

 

<!--[if gte vml 1]><v:shape id="对象_x0020_1" o:spid="_x0000_i1029" type="#_x0000_t75" style='width:415.5pt;height:165pt; visibility:visible' o:gfxdata="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 ZWxzUEsFBgAAAAAFAAUAZwEAADMQAAAAAA== "> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image016.png" o:title="" croptop="-3646f" cropbottom="-295f" cropleft="-1974f" cropright="-17890f"/> <o:lock v:ext="edit" aspectratio="f"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

<!--[if gte vml 1]><v:shape id="对象_x0020_2" o:spid="_x0000_i1028" type="#_x0000_t75" style='width:415.5pt;height:96pt; visibility:visible' o:gfxdata="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 BQYAAAAABQAFAGcBAAARDwAAAAA= "> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image018.png" o:title="" croptop="-6561f" cropbottom="-872f" cropleft="-1336f" cropright="-15906f"/> <o:lock v:ext="edit" aspectratio="f"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

二十一、索引

         注意:可以先去掉索引,再导入数据,最后统一加索引;

1、概念:

<!--[if gte vml 1]><v:shape id="对象_x0020_4" o:spid="_x0000_i1027" type="#_x0000_t75" style='width:415.5pt;height:200.25pt; visibility:visible' o:gfxdata="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 dWDxkwHii0k6zSF2ugbSL6Ek/2f7YZgUnr16WHT5RwTLpRcWoIwGMwdKV2edNS1dgYmGff0m3gAA AP//AwBQSwECLQAUAAYACAAAACEAu+VIlAUBAAAeAgAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRl bnRfVHlwZXNdLnhtbFBLAQItABQABgAIAAAAIQCtMD/xwQAAADIBAAALAAAAAAAAAAAAAAAAADYB AABfcmVscy8ucmVsc1BLAQItABQABgAIAAAAIQBtB476pwcAAIk7AAAfAAAAAAAAAAAAAAAAACAC AABjbGlwYm9hcmQvZHJhd2luZ3MvZHJhd2luZzEueG1sUEsBAi0AFAAGAAgAAAAhAOFRNx/PBgAA 5hsAABoAAAAAAAAAAAAAAAAABAoAAGNsaXBib2FyZC90aGVtZS90aGVtZTEueG1sUEsBAi0AFAAG AAgAAAAhAJxmRkG7AAAAJAEAACoAAAAAAAAAAAAAAAAACxEAAGNsaXBib2FyZC9kcmF3aW5ncy9f cmVscy9kcmF3aW5nMS54bWwucmVsc1BLBQYAAAAABQAFAGcBAAAOEgAAAAA= "> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image020.png" o:title="" croptop="-313f" cropbottom="-148f" cropright="-16f"/> <o:lock v:ext="edit" aspectratio="f"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

分析:

<!--[if gte vml 1]><v:shape id="对象_x0020_5" o:spid="_x0000_i1026" type="#_x0000_t75" style='width:415.5pt;height:102.75pt; visibility:visible' o:gfxdata="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 qfQVB1yx6R8P5bcZsILLbj/ypupcza3/BQAA//8DAFBLAwQUAAYACAAAACEAnGZGQbsAAAAkAQAA KgAAAGNsaXBib2FyZC9kcmF3aW5ncy9fcmVscy9kcmF3aW5nMS54bWwucmVsc4SPzQrCMBCE74Lv EPZu0noQkSa9iNCr1AcIyTYtNj8kUezbG+hFQfCyMLPsN7NN+7IzeWJMk3ccaloBQae8npzhcOsv uyOQlKXTcvYOOSyYoBXbTXPFWeZylMYpJFIoLnEYcw4nxpIa0cpEfUBXNoOPVuYio2FBqrs0yPZV dWDxkwHii0k6zSF2ugbSL6Ek/2f7YZgUnr16WHT5RwTLpRcWoIwGMwdKV2edNS1dgYmGff0m3gAA AP//AwBQSwECLQAUAAYACAAAACEAu+VIlAUBAAAeAgAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRl bnRfVHlwZXNdLnhtbFBLAQItABQABgAIAAAAIQCtMD/xwQAAADIBAAALAAAAAAAAAAAAAAAAADYB AABfcmVscy8ucmVsc1BLAQItABQABgAIAAAAIQBYsKfy+wQAAK0XAAAfAAAAAAAAAAAAAAAAACAC AABjbGlwYm9hcmQvZHJhd2luZ3MvZHJhd2luZzEueG1sUEsBAi0AFAAGAAgAAAAhAOFRNx/PBgAA 5hsAABoAAAAAAAAAAAAAAAAAWAcAAGNsaXBib2FyZC90aGVtZS90aGVtZTEueG1sUEsBAi0AFAAG AAgAAAAhAJxmRkG7AAAAJAEAACoAAAAAAAAAAAAAAAAAXw4AAGNsaXBib2FyZC9kcmF3aW5ncy9f cmVscy9kcmF3aW5nMS54bWwucmVsc1BLBQYAAAAABQAFAGcBAABiDwAAAAA= "> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image022.png" o:title="" croptop="-6539f" cropbottom="-1941f" cropleft="-3223f" cropright="-24195f"/> <o:lock v:ext="edit" aspectratio="f"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

结论:

<!--[if gte vml 1]><v:shape id="对象_x0020_3" o:spid="_x0000_i1025" type="#_x0000_t75" style='width:415.5pt; height:126pt;visibility:visible' o:gfxdata="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 "> <v:imagedata src="file:///C:\Users\fingers\AppData\Local\Temp\msohtmlclip1\01\clip_image024.png" o:title="" croptop="-6533f" cropbottom="-2631f" cropleft="-2670f" cropright="-4027f"/> <o:lock v:ext="edit" aspectratio="f"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

索引介绍:

<!--[if !supportLists]-->(1)       <!--[endif]-->普通索引  index

仅仅是加快查询速度

<!--[if !supportLists]-->(2)       <!--[endif]-->主键索引 primary key index

主键比唯一,但是唯一索引不一定是主键

一张表上,只能有一个主键,但是额可以用一个或多个唯一索引

<!--[if !supportLists]-->(3)       <!--[endif]-->唯一索引 unique index

行上的值不能重复

<!--[if !supportLists]-->(4)       <!--[endif]-->全文索引 fulltext index

查看索引:show   index  from 表名;

添加索引:

         Alter table 表名 add  index/unique/fulltext  [索引名](列名)

         Alter  table  表名 add  add primary key (列名)

删除索引:

         Alter table 表名  drop index 索引名;

         特别地,删除主键索引:alter table 表名  drop primary key;

二十二、存储过程

类似于函数,就是把一段代码封装起来。

当要执行这一段代码的时候,可以通过调用该存储过程来实现。

在语句体里面,可以有 if/else while语句。

         查看现有的存储过程:

                  Show  procedure status

         删除存储过程:

                  Drop  procedure  存储过程的名字;

         创建存储过程:

                  Delimit  $

                  Create  procedure  p1()

                  Begin

                            Select  * from g;

                  End$ 

         调用存储过程:

                  Call  存储过程名;

         传参:

                   Create  procedure p2(n int)

                   Begin

                   Select  *  from g

                   Where  num > n;

                   End$

         使用if/else

                   Create  procedure p2(n int,j char(1))

                   Begin

                      If(j=’a’)  then

                            Select  *  from g  where num > n;

                      Else

                            Select  * from  g where num < n;

                      End  if;

                   End$

 

猜你喜欢

转载自liao492006.iteye.com/blog/1821419
今日推荐