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 (实际项目中很少用到)
  • 相关阅读:
    nyoj-116-士兵杀敌(二)
    nyoj-520-最大素因子
    nyoj-333-mdd的烦恼
    nyoj-172-小珂的图表
    nyoj-332-SPY
    nyoj-49-开心的小明
    nyoj-456-邮票分你一半
    nyoj-325-zb的生日
    nyoj-372-巧克力
    vwware虚拟机无法连接外网
  • 原文地址:https://www.cnblogs.com/shanelau/p/6528532.html
Copyright © 2011-2022 走看看