zoukankan      html  css  js  c++  java
  • MySql学习笔记【三、表相关操作】

    创建表

    CREATE TABLE [IF NOT EXISTS] table_name(
    column_name data_type,
    ...
    )
    如:
    CREATE TABLE test_table(
    id BIGINT,
    createdate DATETIME,
    username VARCHAR(20),
    )

    指定主键

    KEY/PRIMARY KEY
    如:
    CREATE TABLE tb1(
    id bigint NOT NULL PRIMARY KEY,
    username VARCHAR(10) NULL
    )

    指定列自增(该列必须为数字类型,且为主键)

    AUTO_INCREMENT
    如:
    CREATE TABLE tb1(
    id BIGINT AUTO_INCREMENT KEY,
    username VARCHAR(10) NULL,
    age SMALLINT UNSIGNED NOT NULL
    )

    设置列缺省值

    DEFAULT xxx
    如:
    CREATE TABLE tb1(
    id bigint AUTO_INCREMENT KEY,
    username VARCHAR(10) DEFAULT ''
    )

    唯一约束

    UNIQUE KEY
    唯一约束的值可空,且可有多条记录为NULL
    如:
    CREATE TABLE tb1(
    id bigint NOT NULL,
    username VARCHAR(10) UNIQUE KEY
    )

    指定列为空/非空(默认可空)

    NULL / NOT NULL
    如:
    CREATE TABLE tb1(
    id bigint NOT NULL,
    username VARCHAR(10) NULL
    )

    指定列无符号(默认有符号)

    UNSIGNED
    如:
    CREATE TABLE tb1(
    id bigint NOT NULL,
    username VARCHAR(10) NULL,
    age SMALLINT UNSIGNED NOT NULL
    )

    查看数据表

    SHOW TABLES [FROM db_name]
    [LIKE 'pattern'| WHERE expr]
    如:SHOW TABLES;

    查看数据表列/约束

    SHOW {COLUMNS|INDEXES} FROM tb_name [G]
    如: SHOW COLUMNS FROM test_table;
    末尾带G,表示可以以行结构查看

    修改表

    添加单列

    ALTER TABLE tb_name ADD [COLUMN]
    col_name column_definition [FIRST|AFTER col_name]
    如:
    ALTER TABLE tb1 ADD
    age INT UNSIGNED AFTER id;
    省略FIRST|AFTER 将默认在末尾追加列

    添加多列

    ALTER TABLE tb_name ADD [COLUMN]
    (col_name column_definition)
    与添加单列的区别是,多列须加小括号,且无法指定位置
    如:
    ALTER TABLE tb1 ADD
    (age INT UNSIGNED AFTER id,
    password VARCHAR(10) DEFAULT '');

    修改列

    ALTER TABLE tb_name MODIFY [COLUMN]
    col_name column_definition ;
    如:
    ALTER TABLE goods MODIFY
    price decimal(10,2) ;

    添加/删除主键约束

    • 添加
      ALTER TABLE tb_name ADD [CONSTRAINT [cons_name]]
      PRIMARY KEY [index_type] (index_col_name,...)
      如:ALTER TABLE tb2 ADD CONSTRAINT PRIMARY KEY (id);

    • 删除
      ALTER TABLE tb_name DROP PRIMARY KEY
      如:ALTER TABLE tb2 DROP PRIMARY KEY ;

    添加/删除唯一约束

    • 添加
      ALTER TABLE tb_name ADD [CONSTRAINT [cons_name]]
      UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)
      如:ALTER TABLE tb2 ADD UNIQUE (username)

    • 删除
      ALTER TABLE tb_name DROP {INDEX|KEY} index_name
      如:ALTER TABLE tb2 DROP INDEX username;
      对于删除唯一约束来说,INDEX与KEY 相同

    添加/删除默认约束

    ALTER TABLE tb_name ALTER [COLUMN] col_name
    {SET DEFAULT value|DROP DEFAULT}
    如:
    ALTER TABLE tb2 ALTER username SET DEFAULT '';
    ALTER TABLE tb2 ALTER username DROP DEFAULT;

    删除表

    DROP TABLE tb_name
    如:DROP TABLE test_table;

    约束

    • 主键 RPIMARY KEY
    • 非空约束 NOT NULL
    • 唯一约束 UNIQUE KEY
    • 默认约束 DEFAULT
    • 外键约束 FOREIGN KEY (实际项目中很少用到)
  • 相关阅读:
    C# Dictionary 字典
    int.Parse()与int.TryParse()
    jquery 随机数
    DateGradeView分页绑定
    使用tcpdump抓Android网络包
    Android快速开发框架——AndroidAnnotations(Code Diet)
    浅谈 android-query
    Android网络框架技术
    PHP: 深入了解一致性哈希
    png图片压缩优化
  • 原文地址:https://www.cnblogs.com/shanelau/p/6528532.html
Copyright © 2011-2022 走看看