mySQL数据表创建索引_MySQL创建数据表 建索引

除非注明,文章均为易水寒原创,版权属于易水寒博客,转载请注明出处,谢谢。

三、数据字段属性:

1、unsigned 可以让空间增加一倍,如果不希望在字段中插入负值就使用此属性,另外只能用在数值型字段。

2、zerofill 只能用在数值型字段,前导0(例如id int(5) zerofill,如果插入数据为11,会自动存储为00011),该字段自动应用unsigned。

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

4、NULL和NOT NULL 控制字段插入数据是否可以为空值。

5、default 缺省值。在某个表里,某个字段不插入值的话,就会启用缺省值。

CREATE TABLE users(

id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(30) NOT NULL DEFAULT '',

height DOUBLE(10,2) NOT NULL DEFAULT 0.00,

age INT NOT NULL DEFAULT 0,

sex CHAR(4) NOT NULL DEFAULT '男'

);

四、创建索引:

1、主键索引

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

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

一个表只能指定一个主键,主键的值不能为空。

指定主键有2种方法:

(1)

CREATE TABLE users(

id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY

);

(2)

CREATE TABLE users(

id INT UNSIGNED NOT NULL AUTO_INCREMENT,

PRIMARY KEY(id)

);

2、唯一索引

unique

它和主键索引一样,都可以防止创建重复的值,不同的是,每个表可以有多个唯一索引。

3、常规索引

最重要的技术,提高数据库性能,索引优化首先考虑常规索引。

查询提高了,增删改减慢了。

key和index是同义词,用哪个都可以。

创建方法:

单独创建常规索引:

CREATE index 索引名称 on 表名(字段名,多个用逗号分隔);

删除:

drop index 索引名称 on 表名;

创建表时创建常规索引:

CREATE TABLE users(

id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

uid INT NOT NULL,

index 索引名称(uid)

);

4、全文索引

fulltext类型索引,只能在MyISAM表类型上使用,只有在varchar,char,text等文本字符串上使用,也可以多个数据列使用。

CREATE TABLE books(

id int,

bookname varchar(30),

price double,

detail text not null,

fulltext(detail,bookname),

index ind(price),

primary key(id)

);

正常查询:select * from books where bookname like '%php%';

全文索引查询:select bookname,price from books where MATCH(detail) AGAINST('php');

以上两种查询来比,全文索引查询效率比较高。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值