zoukankan      html  css  js  c++  java
  • Day2-索引

    约束条件:限制如何给赋值,创建表时若不设置,就使用mysql建表的是否允许为空(NULL)在不设置时默认允许字段值为空(no    null)

    默认值    当向表中插入新的记录时,若不给字段赋值,就使用默认值给字段赋值,建表时,没有设置的默认值,mysql把字段的默认值设置为空

    修改表结构    受表中已存储数据的限制

    Alter    table    表名    修改动作;

    Add    添加新字段    新添加的字段默认追加在已有字段的下方

    Add    字段名(宽度)    约束条件,add        字段名(宽度)    约束条件

    默认不指定添加字段在最后追加可以使用        afrer    指定字段名

                                添加字段首位时可以用    first

    Drop    删除已有字段——删除时字段没了,值也会没有

    Drop    字段名

    Modify    修改已有字段类型

    Modiy    字段名    新类型(宽度)    约束条件;

    Change    修改字段名

    Change    源字段名    新字段名    类型(宽度)    约束条件

    修改表名

    Alter    table    源表名    rename        [to]    新表名;    to可省略

    复制表    ——源表,表结构中的key列的值,不会被复制给新表

    Create table    新表名    SQL查询;

    只复制源表的表结构

    Create table    新表名    SQL查询    where    条件;

    Key    键值

    索引——相当于书的目录

    索引的优 和缺点

    加快查询速度

    占有磁盘空间——删除或更新一条,需重新排序

    查看指定表的索引信息    Show index from 表名;

    Index_type:BTREE        索引算法        二叉树

    Column_name:User        索引字段

    Key_name:PRIMARY        KEY的类型

    二叉树        例:将一本书,无限分一半。

    index普通索引    *

    通常表,表中最为查询条件的字段设置为索引字段

    使用规则

    字段值可以重复、一个表中可以有多个Index字段、字段的值可以为空

    把表中已有字段设置为index字段

    标志    MUL

    建表时,创建index字段

    删除字段的index属性

    Create index 索引名 on 表名(字段名)

    drop index 索引名 on 表名

    unique唯一索引

    使用规则    标志是UNI

    字段的值不允许重复,字段值可以为空;一个表中可以有多个unique字段

    当把字段设置为不允许为空时,约束方式和主键一样

    Create unique index 索引名 on 表名(字段)

    primary主 键    *

    字段值不允许重复且不允许字段值为空,且一个表中只能有一个主键字段。通常和auto_increment属性一起使用

        注:auto_increment设置必须是主键,主键不一样需要设置auto_increment

        让字段的值自动增长,每添加一条新记录时,字段的值就自动加1

    标志为PRI

    通常把表中能够唯一定位到一条记录的字段设置为主键字段。比如记录的编号字段

    创建主键

    alter table 表名 add primary key(字段名)

    删除主键

    alter table 表名 drop primary key

    若有auto_increment请先删除该字段的属性,然后在删除主键

    Alter table 表名 modify 字段 字段类型    not null

    复合主键    表中的多个字段同时做主键字段,必须在建表时创建

            复合主键字段的值不同时重复就可以

    创建表时可以有两个主键——需在建表时指定Primary key(字段1,字段2)

    foreigen key 外键    *

    让当前表中外键字段的值,只能在指定的另一个表中的某个字段值的范围内选择

    外键的使用规则

    1表的存储引擎必须是innodb

    2字段的类型要匹配

    3被参考字段必须是KEY中的一种(通常设置为主键)

    内容有中文可加编码DEFAULT CHARSET=utf8

    >engine=innodb DEFAULT CHARSET=utf8;

    FOREIGN KEY(表A的字段名)    References    表B(字段名)    ON    UPDATE    CASCADE    ON    DELETE    CASCADE

    同步更新和同步删除。

    alter table 表名 drop foreign key 外键名;

    外键名查看方式 show create table 表名;

    一个子表只能参考一个父表

    一个父表可被多个子表参考

    fulltext全文索引

  • 相关阅读:
    Perl的运算符号字符
    windows xp 使用远程桌面时的关机/重新启动方法
    抵御TCP的洪水
    远程桌面连接中的常见问题 连接上就断开
    批量kill mysql进程
    Linux如何查看硬盘型号和缓存
    Apache Rewrite 规则详解
    nginx 内置变量大全
    大数据量分页存储过程效率测试附代码
    ASP.Net 更新页面输出缓存的几种方法(包括用户控件,iframe,页面缓存等)
  • 原文地址:https://www.cnblogs.com/fina/p/5834006.html
Copyright © 2011-2022 走看看