mysql 入门基础(2)—外键、主键和索引

原创 2016年06月01日 17:42:46

关于外键的操作

1.创建表时添加外键

         Createtable message(

                  mId int,

                   mAddressvarchar(200),

                   mGendervarchar(2),

                  constraint [约束名称] foreign key(字段名) references employee(eId)

                   [ondelete (操作) on update (操作)]

)

2.显示表的信息,包括一些字段类型,字段的约束,外键,主键,索引,字符编码等

show create table (表名)

3.删除外键约束

Alter table message drop foreign key (外键名称)

4.添加外键

Alter table message add constraint [约束名称] foreign key (字段名称) references (引用表名称(字段名称))

和添加外键类似,这里介绍一下如何添加删除联合主键

5.创建表时添加联合主键

create table (表名)(

                   //字段

             primary key(字段1,字段2, ……),

             constraint [约束名称] foreignkey(字段) references (字段)

)

6.删除联合主键

         alter table comment drop primary key;

        这里注意必须要先删除字段的约束条件才能正常删除,如果字段有外键约束,直接删除主键会出现以下错误

7.添加联合主键

        Alter table (表名) add primary key(字段名…)

下面简单介绍一下如何添加索引[索引会大大加快查询的速度]

1.添加主键索引

Alter table order add primary key(oId)

2.添加唯一索引

         Alter table () add unique(字段)

        

3.添加普通索引

        Alter table () add index (索引名)(字段)

        

4.添加多列索引

Alter table () add index (索引名)(字段1,字段2, ……)

        

5.全文索引

Alter table () add fulltext (索引名)(字段)

        原因是InnoDB表不支持全文搜索,需要改成MyISM才能使用

版权声明:本文为博主原创文章,未经博主允许不得转载。

mysql 主键,外键,唯一键,索引的区别

转载:http://blog.csdn.net/duck_arrow/article/details/8264686 参考:http://www.cnblogs.com/ywb-lv/archive...
  • lcg910978041
  • lcg910978041
  • 2016年07月23日 10:02
  • 1789

MySQL添加/删除主键、外键、唯一键、索引、自增

建表是添加外键create table tableName1( id int primary key, name varchar(128) default null, tableName2_id in...
  • u012643122
  • u012643122
  • 2016年10月22日 10:45
  • 4411

浅谈数据库主键和外键及索引

1、主键: 若某一个属性组(注意是组)能唯一标识一条记录,该属性组就是一个主键。主键不能重复,且只能有一个,也不允许为空。定义主键主要是为了维护关系数据库的完整性。 2、外键: 外键用于与另一张表...
  • zhouziyu2011
  • zhouziyu2011
  • 2017年04月08日 22:36
  • 2765

主键、外键和索引的区别

主键、外键和索引的区别? 主键外键索引定义:唯一标识一条记录,不能有重复的,不允许为空表的外键是另一表的主键, 外键可以有重复的, 可以是空值该字段没有重复值,但可以有一个空值作用:用来保证数据完整性...
  • winniepu
  • winniepu
  • 2008年12月19日 17:46
  • 7525

【Mysql】数据库设计三范式,主键表,外键

一、数据库设计三范式 1NF:要求一张表只描述一件事。比如学生表只能保存学生信息,和学生无关的信息不得保存; 2NF:要求保证表中每一行数据的原子性。即表中不得存在完全相同的数据行,存在完全相同的数据...
  • hongxiaoshuang
  • hongxiaoshuang
  • 2016年10月27日 18:26
  • 1607

MySQL中主键与外键的区别和联系

主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴 thread,一张是回帖 reply 先说说主键,主键是表里面唯一识别记录的字段,一般是帖子id,体现在访问的时候,例如是 th...
  • junoohoome
  • junoohoome
  • 2017年03月31日 10:04
  • 2434

mysql主键和外键

主键是本张表的主键,是唯一且非空的,而外键是另一张表中与这张表的某个字段的类型,字段名相同的字段,一般是用作关联两张或两张以上的数据表时用的。 以下面三张表为例:   有三张表,一张...
  • u011995790
  • u011995790
  • 2013年09月22日 12:51
  • 3565

主键,外键,视图,索引

主键的任务是帮助mysql以最快的速度把一条特定的数据记录在数据表里的位置确定下来。主键必须满足以下两个条件: 1.主键必须是惟一的,任意两条数据记录里的主键字段不允许是同样的内容。 2.主键应该...
  • helloworld20102010
  • helloworld20102010
  • 2015年06月03日 18:39
  • 986

mysql给创建的外键自动建立索引吗?

答案是肯定的,版本号是5.1,但是貌似听说5.5之后就不会了。 如何查看呢,其实你就查看下这个表中所有的索引列就行了。 下面我们来爱这个的介绍下这几个列是啥意思 table:这个不用说了...
  • sd4015700
  • sd4015700
  • 2014年03月13日 17:36
  • 2088

MySQL建表,主键,外键

1.创建表 MySql中,创建表是通过SQL语句create table实现的。语法形式如下: create table 表名( 属性名 数据类型[完整性约束条件],          ...
  • h254532693
  • h254532693
  • 2015年09月18日 15:31
  • 6519
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql 入门基础(2)—外键、主键和索引
举报原因:
原因补充:

(最多只允许输入30个字)