Mysql 基础知识

Mysql 基础

Mysql定义语言 DDL(data definition language)

  • CREATE
   // CREATE DATABASE 创建数据库指定字符集
    CREATE DATABASE db_name DEFAULT CHARACTER SET utf8

   // CREATE  TABLE 建索引 (建议在重建索引使用)
    CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
    [USING index_type]
    ON tbl_name (index_col_name,...);

   // CREATE  TABLE 建表(同时建立索引)
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(
        col_name type [NOT NULL | NULL] 
                    [DEFAULT default_value]
                    [AUTO_INCREMENT] 
                    [UNIQUE [KEY] | [PRIMARY] KEY] -- 这里的PRIMARY KEY == KEYUNIQUE KEY == UNIQUE
                    [COMMENT '注解'] 
                    [reference_definition],

          -- 主键(联合主键)key 的一种
          |[CONSTRAINT] PRIMARY KEY [USING BTREE|HASH] (index_col_name,...) -- 指定索引类型
          -- 索引(联合索引)实现层面
          | KEY [index_name] [USING BTREE|HASH] (index_col_name,...) 
          -- 索引(联合索引) 与key 不同是 物理层
          | INDEX [index_name] [USING BTREE|HASH] (index_col_name,...) 
          -- 唯一索引 (主键一定是唯一索引)
          | [CONSTRAINT [symbol]] UNIQUE [INDEX] [index_name] [USING BTREE|HASH] (index_col_name,...) 
          | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition]  
          | CHECK (expr) [USING BTREE|HASH]
    )

    ①[USING BTREE|HASH] -- 可以放在名称后面也可以放到最后(习惯放中间)
    ②key 与index 是同可以等价使用(除主键)
    ③ varcharchar 类型需要长度设置index_col_name(length)
// 创建和old_tbl_name 和结构一样的表
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    LIKE old_tbl_name ;
  • DROP
    // 删除库
    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
     // 删除索引
    DROP INDEX index_name ON  tble_name
    // 删除表
    DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name]
  • ALTER
     // ALTER TABLE 修改表
    ALTER [IGNORE] TABLE tbl_name
        alter_specification [, alter_specification] 

    alter_specification:
        ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
      | ADD [COLUMN] (column_definition,...)
      | ADD INDEX [index_name] [index_type] (index_col_name,...)
      | ADD [CONSTRAINT [symbol]]
            PRIMARY KEY [index_type] (index_col_name,...)
      | ADD [CONSTRAINT [symbol]]
            UNIQUE [index_name] [index_type] (index_col_name,...)
      | ADD [FULLTEXT|SPATIAL] [index_name] (index_col_name,...)
      | ADD [CONSTRAINT [symbol]]
            FOREIGN KEY [index_name] (index_col_name,...)
            [reference_definition]
      | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
      | CHANGE [COLUMN] old_col_name column_definition
            [FIRST|AFTER col_name]
      | MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
      | DROP [COLUMN] col_name
      | DROP PRIMARY KEY
      | DROP INDEX index_name
      | DROP FOREIGN KEY fk_symbol
      | DISABLE KEYS
      | ENABLE KEYS
      | RENAME [TO] new_tbl_name
      | ORDER BY col_name
      | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
      | [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]
      | DISCARD TABLESPACE
      | IMPORT TABLESPACE
      | table_options
      | partition_options
      | ADD PARTITION partition_definition
      | DROP PARTITION partition_names
      | COALESCE PARTITION number
      | REORGANIZE PARTITION partition_names INTO (partition_definitions)
      | ANALYZE PARTITION partition_names
      | CHECK PARTITION partition_names
      | OPTIMIZE PARTITION partition_names
      | REBUILD PARTITION partition_names
      | REPAIR PARTITION partition_names
  • RENAME
RENAME TABLE tbl_name TO new_tbl_name

Mysql操作语言 DML(data definition language)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值