zoukankan      html  css  js  c++  java
  • mysql中的列属性

    一、NULL

      定义方式:NULL(默认)  NOT NULL

    二、comment

      用来描述字段,会根据创建语句保存,可用show create table 表名; 查看

      create table my_tab(

        str varchar(10) not null comment '字符串',

        num int unsigned not null comment '数字'

      );

    三、default

      用来设置默认值。

      create table my_tab(

        str varchar(10) not null,

        num int unsigned default 10;  --  默认值为10

      );

      使用方法:

      insert into my_tab (str) values ('abc');  -- num会自动设为10

      insert into my_tab values ('abc', default);  -- 用默认值插入num字段

    四、primary key  -- 主键

      1. 主键特点

        ① 唯一性,一张表只能有一个字段设为主键

        ② 主键不允许为NULL

      2. 增加主键方式

        ① 在创建表时,在字段后面跟关键字primary key设置

          create table my_tab(

            id int primary key,

            name varchar(10)

          )charset utf8;

        ② 在创建表时,在所有字段后使用primary key(字段列表)设置复合主键

           create table my_tab2(

             id int,

             number int,

             name varchar(10),

             primary key(id, number, ...)

           )charset utf8;

        ③ 在已创建好的表中追加主键

           alter table my_tab3 modify id int primary key;

           alter table my_tab3 add primary key(id, ...);

      3. 主键更新与删除

        主键无法更新,若想更新主键,只能删除后重新添加。

        alter table my_tab3 drop primary key;

    五、auto_increment  --  自动增长

       1. 自动增长通常与主键搭配使用, 字段设置自动增长后,不给值,或给默认值或NULL的时候,会自动触发,

         如果给了值,则当前自增失效,从下一次开始以当前最大值开始自增。

         设置为自增长的字段必须是一个索引,且必须是一个整型类型,一张表只能有一个字段被设为auto_increment.

       2. 使用方式,在字段后面跟auto_increment关键字

         create table my_tab4(

          id int auto_increment,

          name varchar(10)

         )charset utf8;

       3. 修改自增长

         alter table my_tab4 auto_increment = 值;  -- 如果改的值比当前最大值小,则修改无效

       4. 查看系统自增长变量

         show variables like 'auto_increment%';

         可以修改系统变量的值, 但是没什么意义 

         set auto_increment_increment = 值;  -- 修改自增步长

       5. 删除自增长

         alter table my_tab1 modify id int;  -- 修改字段,使其没有auto_increment即可。

    六、unique key -- 唯一键

       1. 唯一键允许自动为NULL,且可以有多个。如果当前表中没有主键,并有唯一键设为NOT NULL时,会显示第一个NOT NULL的唯一键为PRI,但他本质是唯一键。

       2. 增加唯一键

         ① 在创建时在字段后面跟关键字unique/unique key

          create table my_unique1(

            id int unique,

            num int unique key,

            name varchar(10)

          )charset utf8;

        ② 在创建时在所有字段后面增加 unique key(字段列表)  -- 复合唯一键MUL

          create table my_unique2(

            id int,

            num int,

            name varchar(10)

            unique key(id, num)

          )charset utf8;

         ③ 在表创建之后增加唯一键

          alter table my_unique3 add unique key(字段列表); -- unique key 或 unique 都可以

          alter table my_unique3 modify 字段名 数据类型 unique;

      3. 更新与删除唯一键

        和主键一样,先删除后添加,因为唯一键可以有多个,所以不删除直接添加也可以。

        alter table my_unique drop index 索引名;   -- 索引名的默认值为字段名

    七、索引

      索引的作用: 提高查询效率、约束数据的有效性

      1. 主键索引   primary key

      2. 唯一键索引  unique key

      3. 全文索引   textfill  index

      4. 普通索引   index

  • 相关阅读:
    Spark记录-SparkSQL远程操作MySQL和ORACLE
    Spark记录-Spark on Yarn框架
    Linux记录-重启后磁盘丢失问题解决方案
    Spark记录-阿里巴巴开源工具DataX数据同步工具使用
    Spark记录-SparkSql官方文档中文翻译(部分转载)
    Spark记录-SparkSQL一些操作
    Spark记录-Spark-Shell客户端操作读取Hive数据
    Spark记录-SparkSQL相关学习
    Spark记录-Scala程序例子(函数/List/match/option/泛型/隐式转换)
    CM记录-升级Spark版本到2.x(转载)
  • 原文地址:https://www.cnblogs.com/pengyin/p/6366564.html
Copyright © 2011-2022 走看看