美文网首页MySQL
(三)表的操作

(三)表的操作

作者: 一条IT | 来源:发表于2019-03-24 14:42 被阅读27次

创建表

    CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [库名.]表名 ( 表的结构定义 )[ 表选项]
        每个字段必须有数据类型
        最后一个字段后不能有逗号
        TEMPORARY 临时表,会话结束时表自动消失
        对于字段的定义:
            字段名 数据类型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT 'string']

表选项

字符集
        CHARSET = charset_name
        如果表没有设定,则使用数据库字符集
存储引擎
        ENGINE = engine_name
        表在管理数据时采用的不同的数据结构,结构不同会导致处理方式、提供的特性操作等不同
        常见的引擎:InnoDB MyISAM Memory/Heap BDB Merge Example CSV MaxDB Archive
        不同的引擎在保存表的结构和数据时采用不同的方式
        MyISAM表文件含义:.frm表定义,.MYD表数据,.MYI表索引
        InnoDB表文件含义:.frm表定义,表空间数据和日志文件
        SHOW ENGINES -- 显示存储引擎的状态信息
        SHOW ENGINE 引擎名 {LOGS|STATUS} -- 显示存储引擎的日志或状态信息
自增起始数
        AUTO_INCREMENT = 行数
数据文件目录
        DATA DIRECTORY = '目录'
索引文件目录
        INDEX DIRECTORY = '目录'
表注释
        COMMENT = 'string'
分区选项
        PARTITION BY ... (详细见手册)

查看所有表

    SHOW TABLES[ LIKE 'pattern']

查看表机构

    SHOW CREATE TABLE 表名 (信息更详细)
    DESC 表名 / DESCRIBE 表名 / EXPLAIN 表名 / SHOW COLUMNS FROM 表名 [LIKE 'PATTERN']
    SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']

修改表

修改表本身的选项
        ALTER TABLE 表名 表的选项
        eg: ALTER TABLE 表名 ENGINE=MYISAM;
对表进行重命名
        RENAME TABLE 原表名 TO 新表名
        RENAME TABLE 原表名 TO 库名.表名 (可将表移动到另一个数据库)
        -- RENAME可以交换两个表名
修改表的字段机构(13.1.2. ALTER TABLE语法)
        ALTER TABLE 表名 操作名
操作名
            ADD[ COLUMN] 字段定义       -- 增加字段
                AFTER 字段名          -- 表示增加在该字段名后面
                FIRST               -- 表示增加在第一个
            ADD PRIMARY KEY(字段名)   -- 创建主键
            ADD UNIQUE [索引名] (字段名)-- 创建唯一索引
            ADD INDEX [索引名] (字段名) -- 创建普通索引
            DROP[ COLUMN] 字段名      -- 删除字段
            MODIFY[ COLUMN] 字段名 字段属性     -- 支持对字段属性进行修改,不能修改字段名(所有原有属性也需写上)
            CHANGE[ COLUMN] 原字段名 新字段名 字段属性      -- 支持对字段名修改
            DROP PRIMARY KEY    -- 删除主键(删除主键前需删除其AUTO_INCREMENT属性)
            DROP INDEX 索引名 -- 删除索引
            DROP FOREIGN KEY 外键    -- 删除外键

删除表

    DROP TABLE[ IF EXISTS] 表名 ...

清空表数据

    TRUNCATE [TABLE] 表名

复制表结构

    CREATE TABLE 表名 LIKE 要复制的表名

复制表结构和数据

    CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名

检查表是否有错误

    CHECK TABLE tbl_name [, tbl_name] ... [option] ...

优化表

    OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

修复表

    REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]

分析表

    ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

相关文章

  • (三)表的操作

    创建表 表选项 字符集 存储引擎 自增起始数 数据文件目录 索引文件目录 表注释 分区选项 查看所有表 查看表机构...

  • 三、HBase Shell 操作

    一、 基本操作 二、 表的操作 三、 HBase多版本操作:

  • Mysql基本操作 有这篇就够了

    目录一、数据库操作二、用户授权三、数据类型四、 表的字段约束五、表的基本操作六、数据的基本操作 一、数据库操作 连...

  • [python学习]解决导入第三方库函数没有代码提示

    在学习操作excel表, 导入第三方库openpyxl 通过表名获取特定工作表, 在对表操作时,点不出相应的代码提...

  • 数据库相关

    一、 数据库的操作 二、 数据表的操作 三、 增删改查(curd)

  • 字笔字型难拆字备忘

    一、字根表 二、难字集 三、耳机操作备忘

  • MySQL入门(三):表操作

    一、MySQL表数据类型 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 定义数...

  • 数据结构03-线性表之顺序表

    第三章 线性表之顺序表 第三章 线性表之顺序表一、什么是线性表?1> 概念2> 线性表的基本操作二、线性表的顺序存...

  • 表连接:2018-06-21

    我们做了三个范式,做了一些拆表的操作,可是有时我们确实同时显示两个表中的内容,那么就需要进行表连接操作。 显示每个...

  • 第三章 优化表(二)

    第三章 优化表(二) 调整表计算值 调优表操作根据表中的代表性数据计算和设置表统计信息: ExtentSize,它...

网友评论

    本文标题:(三)表的操作

    本文链接:https://www.haomeiwen.com/subject/tvduvqtx.html