zoukankan      html  css  js  c++  java
  • mysql 主键与外键

    一、主键详解,引用自:https://blog.csdn.net/haiross/article/details/50456154

       1、要设置主键自增的话字段必须是整形数字。

    二、外键详解:引用自https://www.cnblogs.com/programmer-tlh/p/5782451.html

    三、mysql列属性。(主键,唯一键,自增等)引用自:https://blog.csdn.net/J080624/article/details/71703297

      1、列属性有很多,大致如下:

        null / not null

        default

        primary key

        unique key

        auto_increment

        comment

      2、空属性

      3、列描述

        comment:描述,没有实际含义,为列增加文字说明,会随着表创建一起储存起来。

      4、默认值

        create table my_default(name varchar(20) not null unique key,gender varchar(4) default '男')charset utf8;

        当不对gender列进行插入的时候,gender将会使用默认值。

      5、主键,给表增加主键,大体分为三种

        a、创建表的时候在字段后面使用primary key关键字

          create table my_default(id int primary key,name varchar(20) not null unique key,gender varchar(4) default '男')charset utf8;

        b、在创建表的时候,在所有的字段之后使用primary key(主键的字段 列表)来创建主键(如果有多个字段作为主键,称之为复合主键)

          create table my_pri(numbere char(10),

                   course char(10),

                   score tinyint,

                   primary key(number,course)

                   )charset utf8;

        c、创建表之后,为表追加主键。有两种方式,第一为修改表字段属性,第二直接追加。

           方式一:

              alter table my_pri modify number char(11) primary key;

           方式二:

              alter table table_name add primary key(column);

              --alter table my_pri add primary key(number,course);--增加复合主键

              --alter table my_pri add constraint pk_score primary key(score)--使用关键字CONSTRAINT 且指定主键名字pk_score

              --alter table my_pri add constraint primary key(score)--使用关键字CONSTRAINT 且使用默认名字

         d、删除主键:

              alter table my_pri drop primary key;

      6、自增

        create table my_auto(id int primary key auto_increment,name varchar(20))charset utf8;

        删除自增:需要注意的是,如果自增长对应的字段为主键,那么修改列属性的时候,不要再加primary key;会被系统认为又定义一个主键,会报错。

          alter table my_auto modify id int primary key; (错误)

          alter table my_auto modify id int;(正确)

      7、唯一键

        a、创建表时添加唯一键:

          方法一:

            create table my_unique(name varchar(4) unique key,number varchar(20) unique key)charset utf8;

          方法二、create table my_unique(name varchar(4),

                         number varchar(20),

                         unique key name(name),

                         unique key(number)

                         )charset utf8;

        b、创建表后增加唯一键:

           create table my_unique(name varchar(4),number varchar(20))charset utf8;

           方法一:     

             alter table my_unique modify column name varchar(5) unique key;

           方法二:      

             alter table my_unique add constraint num_uk unique key(number);

        c、删除唯一约束

            alter table my_unique drop index num_uk;

  • 相关阅读:
    ExtJS4 带清除功能的文本框 triggerfield
    ExtJS 4 MVC 创建 Viewport
    Sql Server 查询重复记录
    oracle 备份数据
    sql server 日期模糊查询
    SQL Server 日期转换成字符串
    Kurento应用开发指南(以Kurento 5.0为模板) 之中的一个:简单介绍,安装与卸载
    magento getCarriers 分析
    用两个小样例来解释单例模式中的“双重锁定”
    POJ 3592--Instantaneous Transference【SCC缩点新建图 && SPFA求最长路 && 经典】
  • 原文地址:https://www.cnblogs.com/Presley-lpc/p/9269095.html
Copyright © 2011-2022 走看看