MySQL数据库及表的管理
admin
2023-05-29 14:41:23
0



库管理


1.创建数据库


mysql> help create database;

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...
create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name



MySQL数据库及表的管理



MySQL数据库及表的管理




2.删除数据库


mysql> help drop database;

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name


MySQL数据库及表的管理



3.修改数据库的字符集和排序字符以及数据字典


mysql> help alter database;

ALTER {DATABASE | SCHEMA} [db_name]
    alter_specification ...
ALTER {DATABASE | SCHEMA} db_name
    UPGRADE DATA DIRECTORY NAME

alter_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name



表管理


1.创建表


(a)第一种方式

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]

[create_definition]
     字段的定义:字段名、类型和类型修饰符;
     键、索引和约束; --> 键是索引,索引未必是键;键可以表示约束
          primary key、unique key、foreign key、check(条件约束)
          {index|key}

[table_options]
     engine [=] engine_name  ---> 注1
     AUTO_INCREMENT [=] value 指定AUTO_INCREMENT的起始值
     [DEFAULT] CHARACTER SET [=] charset_name 指定默认字符集
     CHECKSUM [=] {0 | 1} 是否使用校验值
     [DEFAULT] COLLATE [=] collation_name 排序规则
     COMMENT [=] 'string' 注释
     DELAY_KEY_WRITE [=] {0 | 1} 是否启用键延迟写入 (索引降低了写操作)
     ROW_FORMAT [=] {DEFAULT(默认)|DYNAMIC(动态)|FIXED(静态)|COMPRESSED(压缩)|REDUNDANT(冗余)|COMPACT(紧致)} 表格式
     TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}] 表空间  ---> 注2


(b)第二种方式(复制表数据)

 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)]
    [table_options]
    select_statement


MySQL数据库及表的管理


MySQL数据库及表的管理


(c)第三种方式(复制表结构)

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) }


MySQL数据库及表的管理


2.查看表的状态信息

show table status like ‘table_name’



3.删除表

DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]



4.修改表

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
    [alter_specification [, alter_specification] ...]


(a)修改字段定义

插入新字段:
    ADD [COLUMN] col_name column_definition
        [FIRST | AFTER col_name ]
删除字段
    DROP [COLUMN] col_name
修改字段
    修改字段名称
        CHANGE [COLUMN] old_col_name new_col_name column_definition
            [FIRST|AFTER col_name]
    修改字段类型及属性等
        MODIFY [COLUMN] col_name column_definition
            [FIRST | AFTER col_name]



(b)表改名

mysql > rename table to old_name TO new_name


(c)修改存储引擎

engine =


(d)指定排序标准的字段

ORDER BY col_name [, col_name] ...

 

(e)转换字符集及排序规则

CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]



注1

mysql > show engine


MySQL数据库及表的管理


MySQL数据库及表的管理


MySQL数据库及表的管理


MySQL数据库及表的管理


注2

TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}] 表空间

     MyISAM表,每个表有三个文件,都位于数据库目录中

        tb_name.frm:表结构定义

        tb_name.MYD:数据文件

        tb_name.MYI:索引文件

     InnoDB表,有两种存储方式

        1.默认:每表有一个独立文件和一个多表共享的文件

        tb_name.frm:表结构的定义,位于数据库目录中

        ibdata#:共享的表空间文件,默认位于数据目录(datadir指向的目录)中

        图

        2.独立的表空间文件:

        每表有一个表结构文件tb_name.frm

        一个独立的表空间文件 tb_name.ibd(数据和索引)

            (a)应该修改innodb_file_per_table为ON 

            (b)可以通过修改配置文件永久有效在 [mysqld]段

               innodb_file_per_table=ON


MySQL数据库及表的管理


MySQL数据库及表的管理




相关内容

热门资讯

梅姨居住过的黄砂村村民:喊的其... 8月5日,潇湘晨报 ·晨视频记者从多个寻亲家庭获悉,“梅姨”涉拐卖儿童案已进入审查起诉环节。他们收到...
让领导干部带头休,难解体制外休... 文 | 布 丁近日,河南省委组织部等六部门联合印发《关于进一步推动落实职工带薪错峰休假的通知》(以下...
47岁女子腹痛就医才知道自己怀... 近日,湖北的魏女士分享,她47岁的妈妈因腹痛被紧急送医,到医院检查后才发现自己已经怀孕,一个小时后顺...
二楼单独排水管道贵不贵 二楼单独排水管道的价格因地区、材料、施工难度等因素而异,因此我无法给出具体的价格。一般来说,二楼单独...
二楼下水道改造方法 二楼下水道改造需要根据具体情况进行设计和施工,以下是一些常见的改造方法:1. 更换管道:如果二楼下水...
一根电线怎么串联2个灯 在家庭电路中,一根电线串联 2 个灯的方法如下:1. 首先,需要准备好 2 个灯泡、电线、插头、开关...
厨房下水道疏通价格怎么样 自己买个工具,五金店都有卖。十元左右,然后自己动手。
厨房下水道管道反水疏通方法 在厨房下水管道位置增加止回阀门。如果说所住的小区经常性出现下水道堵塞的情况,那么说要不就是楼上下的邻...
RTX 50显卡烧接口新解法!... 快科技8月6日消息,技嘉近日将Infinity系列扩展至RTX 5080、RTX 5070 Ti和R...
NASA好奇号在火星发现奇特蜂... IT之家 8 月 6 日消息,美国国家航空航天局(NASA)的“好奇号”(Curiosity)火星车...