5、MySQL主健和索引
2016-06-09 16:57
375 查看
<--目录-->
1)主健
1、操作表的约束
(1)非空约束
(2)字段默认值
(3)唯一约束
(4)主健约束
(5)添加主健(重点)
(6) 自动增加
2)索引
1、创建普通索引(重点)
2、创建唯一索引
3、创建全文索引
4、创建多列索引
5、删除索引
【主健】
1、操作表的约束
###########################################################################
约束关健字 含义 #
not null 约束的字段值不能为空 #
default 设置字段的默认值 #
unique key (uk) 约束字段的值是唯一 #
primary key (pk) 约束字段为表的主健,可以作为该记录的唯一标识 #
auto_increment 约束字段的值为自动增加 #
foreign key (fk) 约束字段为表的外健 #
###########################################################################
#设置非空约束
#解释:设置了非空约束,字段内容则不允许为空
mysql> create table t1(
-> id int(20) not null,
-> loc varchar(40)
-> );
#设置字段的默认值
#解释:当为表中某个字段插入记录没有给他赋值,则系统会为这个字段插入默认值
mysql> create table t1( -> id int(20) not null, -> dname varchar(20) default 'cjgong', -> loc varchar(40)
-> );
#设置唯一约束
#解释:数据库表中某个字段的内容不允许重复
mysql> create table t1( -> id int(20) not null, -> dname varchar(20) unique, -> loc varchar(40)
-> );
#设置主健约束
#解释:用数据库表中的某个字段来标识所有记录
mysql> create table t1( -> id int(20) primary key, -> loc varchar(40)
-> );
#添加主健
alter table student change id id int primary key auto_increment;
#设置字段值自动增加
#解释:当为数据库表中插入新记录时,字段上的值会自动生成唯一的ID
mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> );
【索引】
1、创建普通索引
#解释:普通索引不附加任何限制条件,可以创建在任何数据类型的字段上
mysql> create table t1(
-> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> index 索引名(字段名) -> );
#创建表时创建普通索引mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> index index_deptno(deptno) -> );
#在已经存在的表上创建普通索引mysql> create index 索引名 on 表名(字段名)mysql> create index index_deptno on t1(deptno)
#通过sql语句alter table创建普通索引
mysql> alter table table_name add index 索引名(字段名);
mysql> alter table t1 add index index_deptno(deptno);
2、创建和查看唯一索引
mysql> create table t1( -> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> unique index 索引名(字段名) -> );
#创建表时创建唯一索引#解释:创建索引时,索引的值必段是唯一的mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> unique index index_depktno(deptno) -> );
#在已经存在的表上创建唯一索引
mysql> create unique index 索引名 on 表名(字段名)mysql> create unique index index_deptno on t1(deptno)
#通过sql语句alter table创建唯一索引mysql> alter table table_name add unique index 索引名(字段名);mysql> alter table t1 add unique index index_deptno(deptno);
3、创建和查看全文索引
#解释:全文索引要关联在char、varchar、text字段上,以便快速查询数量较大的字符串类型的字段
mysql> create table t1( -> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> fulltext index 索引名(字段名) -> );
#创建表时创建全文索引mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> fulltext index index_depktno(deptno) -> );
#在已经存在的表上创建全文索引mysql> create fulltext index 索引名 on 表名(字段名)mysql> create fulltext index index_deptno on t1(deptno)
#通过sql语句alter table创建全文索引mysql> alter table table_name add fulltext index 索引名(字段名);mysql> alter table t1 add unique fulltext index index_deptno(deptno);
4、创建和查看多列索引
#解释:多列索引在创建索引时,所关联的字段是多个字段,虽然可以通过所关联的字段进行查询,但是只有查询条件中使用了所关联字段中的第一个字段,多列索引才会被使用
mysql> create table t1( -> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> fulltext index 索引名(字段名) -> );
#创建表时创建多列索引mysql> create table t1( -> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> index 索引名(字段名1,字段名2) -> );
#创建表时创建多列索引mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> index index_deptno(deptno,id) -> );
#在已经存在的表上创建多列索引mysql> create index 索引名 on 表名(字段名1,字段名2)mysql> create index index_deptno on t1(deptno,id)
#通过sql语句alter table创建多列索引mysql> alter table table_name add index 索引名(字段名1,字段名2);mysql> alter table t1 add index index_deptno(deptno,id);
5、删除索引
语法形式如下:
drop index 索引名字 on 表名字
mysql> drop index index_deptno on t1;
1)主健
1、操作表的约束
(1)非空约束
(2)字段默认值
(3)唯一约束
(4)主健约束
(5)添加主健(重点)
(6) 自动增加
2)索引
1、创建普通索引(重点)
2、创建唯一索引
3、创建全文索引
4、创建多列索引
5、删除索引
【主健】
1、操作表的约束
###########################################################################
约束关健字 含义 #
not null 约束的字段值不能为空 #
default 设置字段的默认值 #
unique key (uk) 约束字段的值是唯一 #
primary key (pk) 约束字段为表的主健,可以作为该记录的唯一标识 #
auto_increment 约束字段的值为自动增加 #
foreign key (fk) 约束字段为表的外健 #
###########################################################################
#设置非空约束
#解释:设置了非空约束,字段内容则不允许为空
mysql> create table t1(
-> id int(20) not null,
-> loc varchar(40)
-> );
#设置字段的默认值
#解释:当为表中某个字段插入记录没有给他赋值,则系统会为这个字段插入默认值
mysql> create table t1( -> id int(20) not null, -> dname varchar(20) default 'cjgong', -> loc varchar(40)
-> );
#设置唯一约束
#解释:数据库表中某个字段的内容不允许重复
mysql> create table t1( -> id int(20) not null, -> dname varchar(20) unique, -> loc varchar(40)
-> );
#设置主健约束
#解释:用数据库表中的某个字段来标识所有记录
mysql> create table t1( -> id int(20) primary key, -> loc varchar(40)
-> );
#添加主健
alter table student change id id int primary key auto_increment;
#设置字段值自动增加
#解释:当为数据库表中插入新记录时,字段上的值会自动生成唯一的ID
mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> );
【索引】
1、创建普通索引
#解释:普通索引不附加任何限制条件,可以创建在任何数据类型的字段上
mysql> create table t1(
-> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> index 索引名(字段名) -> );
#创建表时创建普通索引mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> index index_deptno(deptno) -> );
#在已经存在的表上创建普通索引mysql> create index 索引名 on 表名(字段名)mysql> create index index_deptno on t1(deptno)
#通过sql语句alter table创建普通索引
mysql> alter table table_name add index 索引名(字段名);
mysql> alter table t1 add index index_deptno(deptno);
2、创建和查看唯一索引
mysql> create table t1( -> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> unique index 索引名(字段名) -> );
#创建表时创建唯一索引#解释:创建索引时,索引的值必段是唯一的mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> unique index index_depktno(deptno) -> );
#在已经存在的表上创建唯一索引
mysql> create unique index 索引名 on 表名(字段名)mysql> create unique index index_deptno on t1(deptno)
#通过sql语句alter table创建唯一索引mysql> alter table table_name add unique index 索引名(字段名);mysql> alter table t1 add unique index index_deptno(deptno);
3、创建和查看全文索引
#解释:全文索引要关联在char、varchar、text字段上,以便快速查询数量较大的字符串类型的字段
mysql> create table t1( -> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> fulltext index 索引名(字段名) -> );
#创建表时创建全文索引mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> fulltext index index_depktno(deptno) -> );
#在已经存在的表上创建全文索引mysql> create fulltext index 索引名 on 表名(字段名)mysql> create fulltext index index_deptno on t1(deptno)
#通过sql语句alter table创建全文索引mysql> alter table table_name add fulltext index 索引名(字段名);mysql> alter table t1 add unique fulltext index index_deptno(deptno);
4、创建和查看多列索引
#解释:多列索引在创建索引时,所关联的字段是多个字段,虽然可以通过所关联的字段进行查询,但是只有查询条件中使用了所关联字段中的第一个字段,多列索引才会被使用
mysql> create table t1( -> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> fulltext index 索引名(字段名) -> );
#创建表时创建多列索引mysql> create table t1( -> 字段名 数据库类, -> 字段名 数据库类, -> ... ... -> index 索引名(字段名1,字段名2) -> );
#创建表时创建多列索引mysql> create table t1( -> id int(20) primary key auto_increment, -> loc varchar(40)
-> index index_deptno(deptno,id) -> );
#在已经存在的表上创建多列索引mysql> create index 索引名 on 表名(字段名1,字段名2)mysql> create index index_deptno on t1(deptno,id)
#通过sql语句alter table创建多列索引mysql> alter table table_name add index 索引名(字段名1,字段名2);mysql> alter table t1 add index index_deptno(deptno,id);
5、删除索引
语法形式如下:
drop index 索引名字 on 表名字
mysql> drop index index_deptno on t1;
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- 使用C++实现JNI接口需要注意的事项
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜