MySQL笔记(2)

来源:互联网 发布:淘宝宝贝上架流程 编辑:程序博客网 时间:2024/05/29 18:39

四 数据字段

    unsigned  无符号,可以让存储空间增加一倍     - 128-127  ===>0-255

                       只能用在数值型字段上

    zerofill       自动0填充

                       create table t2(num int(5) zerofill,price float(7,2),name varchar(10));

                       该字段自动应用unsigned

   auto_increment

                       只能是整数,数据每增加一条就会自动增1,字段值不允许重复。

                      当为设定自动增长的值为NULL  0  留空 时  为自动在前值的基础上加1

                      每个表最好都有一个ID字段,设置为自动增长,auto_increment

   NULL和NOT NULL

                      MySQL默认是可以为空====>NULL

                      当数据表中存在NULL值时,程序将这个表中的NULL值进行转化时,转化出来的值不确定

                      建议:在创建表时每个字段都不要插入NULL

   default      缺省值

                      create table t3(id int not null auto_inrement ,name varchar(30) not null defualt '');

五索引

   1.主键索引 primary key   =====>primary key(id)

       主要作用是确定数据库表里一条特定数据记录的位置

       最好为每张数据表定义一个主键

        一个表只能指定一个主键

       创建主键的方式:

       create table t1(id int primary key);

       create table t2(id int,primary key(i2));

     2.唯一索引  unique

       主要作用可以防止创建重复的值

        每一个表都可以有多个唯一索引

     3.常规索引

        最重要的计数,能提升数据库的性能,可以提高查找的速度,缺点是:减慢数据列的插入、删除、修改

        常规索引和表一样是独立的数据对象,可以单独使用

       create index ind1 on users(name,age);

       drop index ind1 on users;

       也可以在创建表时创建

       create table carts(id int not null,uid int not null,sid int not null,number int not null,primary key(id),index csid(sid),key cuid(uid));

      其中index和key是同义词

       指定索引可以是单列也可以是多列

     4.全文索引

        fulltext类型索引,只能在MyISAN表类型上使用,只有在varchar char text 文本字符串上使用。

        create table books(

          id int not null auto_increment,

  bookname varchar(30),

  detail text not null,

  fulltext(detail,bookname),

 index ind(price),

 primary key(id)

         );      

六 数据表类型和存储位置
    MySQL和大多数据库不同,MySQL有一个存储引擎概念。
    MySQL可以针对不同的储存引擎需求可以选择最优的存储引擎。


    引擎 数据表类型
    show engines 查看引擎


    MyISAM 和 InnoDB比较重要
    
    create table () type=InnoDB;
    create table () engine=InnoDB;


     注意:在一个MySQL库中可以(创建表时)指定不同的表类型。
    
    MyISAM表类型    成熟稳定易于管理,强调快速读取操作
    optimze table 表名    -------用于整理数据库中的碎片


   也有缺点:有一些功能不支持
   
   InnoDB表类型
         支持一些MyISAM所不支持的功能
         缺点:占用空间大,读写速度慢,不支持全文检索


   
功能            MyISAM                  InnoDB


事务处理        不支持                   支持
数据行锁定      不支持                   支持
外键约束        不支持                   支持
表空间占用      相对小                  相对大,最大2倍
全文索引        支持                    不支持


0 0
原创粉丝点击