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 (实际项目中很少用到)
  • 相关阅读:
    URAL——DFS找规律——Nudnik Photographer
    URAL1353——DP——Milliard Vasya's Function
    URAL1203——DPor贪心——Scientific Conference
    递推DP HDOJ 5389 Zero Escape
    区间DP UVA 1351 String Compression
    树形DP UVA 1292 Strategic game
    Manacher HDOJ 5371 Hotaru's problem
    同余模定理 HDOJ 5373 The shortest problem
    递推DP HDOJ 5375 Gray code
    最大子序列和 HDOJ 1003 Max Sum
  • 原文地址:https://www.cnblogs.com/shanelau/p/6528532.html
Copyright © 2011-2022 走看看