• Mysql表的操作


    目录

    一、创建表

    二、查看表

    三、修改表

    一、创建表

    语法:

    create table table_name(

            field1 datatype,

            field2 datatype,

            field3 datatype

    ) character  set  字符集  collate  校验规则  engine  存储引擎;

    说明:

            field 表示列名

            datatype 表示列的类型

            character set 字符集,如果没有指定字符集,则会继承所在数据库的字符集

            collate 校验规则,如果没有指定校验规则,则会继承所在数据库的校验规则

    示例:

       

    注意:这里if not exists 是一个选项,可有可无。

    不自定义设置编码和校验规则,创建的表会默认采用数据库的编码和校验规则

    查看当前表的编码和校验规则:

     

    关于创建表使用不同的存储引擎:

     

    创建表user1使用的存储引擎MyIsam,创建表user2使用的存储引擎是InnoDB.

    我们在Linux中可以查看它们的文件有何差异:

     使用不同的存储引擎,创建文件的类型和种类是不相同的。使用MyIsam,在数据目中有三个不同的文件,分别是:

            user1.frm:存储表结构

            user1.MYD:存储表数据

            user1.MYI:存储表索引

    使用InnoDB

            user2.frm:存储表结构

            user2.ibd:存储表数据和表索引

    也就是使用InnoDB会把表数据和表索引存储在一个.ibd类型的文件中。

    二、查看表

    语法:

            desc  table_name; //查看表结构

    输入:

    show tables; //查看当前数据库中的表有哪些

    语法:

    show create table  table_name; // 显示创建表时的详细信息

    这样查看很不方便,可以在查看时加上 \G 选项,可以格式化显示,把不需要的给屏蔽掉。

     这是因为加上 \G 选项,mysqld会对我们写的指令进行词法语法分析,转化为标准的写法。

    三、修改表

    在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

    语法:

            alter table old_name rename to new_name;//修改表名

    注:加粗和有颜色的字体为关键字。

            old_name:表示之前表的名字

            new_name: 表示修改后表的名字

            to是可以省略的

    语法:

            alter table table_name change oldline_name newline_name properties;//更改列名

    注:   加粗和有颜色的为关键字

            table_name:表名

            oldline_name:之前的列名

            newline_name:更改后的列名

            properties:更改后的列的属性

    示例

     对列名称做修改,不仅要修改列名称,还要对它的相关属性做修改

    语法:

            insert  into  table_name  (可指定列)values (根据表中的列一一对应填写数据); //插入数据

    注:

            values前可指定要插入哪一列,不指定插入哪一列时,默认是全部列插入。

    示例

    语法:

            alter table table_name add line_name type 备注 位置; //新增列

    注:        

            type:表示新增列的类型,大小

            备注:comment备注

            位置:在列中的位置,比如在哪一列后面添加

    示例

     语法:

            alter table table_name modify line_name changedproperties;//修改某一列的属性

    注:

            changedproperties:修改后的列属性

    修改时扩大列可允许数据大小是不影响存储数据的,但是这是一种覆盖式修改,之前的备注,也就是comment内容也就没有了。

    语法:

            alter table table_name drop line_name; //删除某一列

    删之前:

    删除了password这一列。

    语法:

            drop table table_name;//删除表

  • 相关阅读:
    【JavaScript】ES6 中class定义类
    基于SSM的学籍证明打印系统设计与实现。
    在SpringBoot中使用Spring-AOP实现接口鉴权
    Linux(CentOS7)搭建LAMP服务环境
    初始化固定长度的数组
    3、AWS SDK for Go使用
    AntDesignVue动态创建下拉菜单
    KMP模式匹配算法
    ShardingJDBC配置读写分离
    痞子衡嵌入式:说说职业生涯第一个十年
  • 原文地址:https://blog.csdn.net/JJR_YZ/article/details/132736167