美文网首页
数据库表的基本操作

数据库表的基本操作

作者: 超级皮波9 | 来源:发表于2019-01-12 17:34 被阅读0次

    表的基本操作

    1. 创建表

    格式
    
    create table [if not exists] 表名(
        字段名称 数据类型 [null | not null],      [null | not null] 该字段是否可以为空, 默认都可以为空
        字段名称 数据类型 [auto_increment],       [auto_increment] 该字段的值自动增长
        字段名称 数据类型 [primary key],          [primary key] 主键, 一张表中只能有一个主键
        字段名称 数据类型 [default],              [default] 默认值, 如果没有传递对应的值, 就使用默认值
        字段名称 数据类型 [comment]               [comment] 备注, 方便程序员之间沟通
    )engine=存储引擎;                             存储引擎  innodb/myisam/memory
    
    字段名称: 相当于Excel中每一列的名称
    数据类型: 相当于Excel中每一列的数据类型
    

    注意点:

    由于一个MySQL中可以有很多数据库, 所以在创建表之前必须告诉MySQL要创建到哪一个数据库中

    • 示例
    示例一:
    use person;
    create table stu(
        id int,
        name varchar(20)
    );
    
       上面语句的含义: 
            在person数据库中创建一张叫做stu的表,
            表中有两个字段, 分别是id和name, 
            id将来可以存储int类型的值, 
            name将来可以存储字符串类型的值
    
    • 企业开发推荐的写法

    use person;
    create table if not exists stu(
          id int,
          name varchar(20)
    );
    

    2. 查看数据库中的表

    格式
    show tables;
    
    查看数据库中的表的结构
    
    格式
    desc [ribe]  + 表的名称;
    
    例
    desc  person;
    

    3. 删除表

    格式 :
    
    drop table [ if exists ]  表的名称1 + 表的名称2.......;
    
    例
    
    1. drop table stu;                            注意点 : 表不存在会报错;
    
    
    2. drop table if exists stu;                  删除表stu 如果表stu存在
    
    
    3. drop table if exists stu1 stu2;            删除表stu1 stu2
    

    4. 修改表的基本操作

    4.1添加字段
    alter table 表名 add 字段名 数据类型 [位置];
    
    
    示例一
    
    会将新的字段添加到原有字段的最后
    
    alter table stu3 add email varchar(30);
    
    
    
    示例二
    
    会将新的字段添加到原有字段的最前面
    
    alter table stu3 add phone int first;
    
    
    
    示例三
    
    会将新的字段添加到指定字段的后面
    
    alter table stu3 add addr varchar(100) after name;
    

    4.2 删除字段
    格式:
    
    alter table 表名 drop 字段名;
    
    示例一:
    
    alter table stu3 drop name;
    

    4.3修改字段
    格式:
    
    alter table 表名 change 原始字段名 新字段名 数据类型;
    
    示例一:
    
    改字段名称, 并且改字段的类型
    
    alter table stu3 change addr age int;
    
    
    
    示例二:
    
    改字段的类型, 不改字段的名称
    
    alter table stu3 modify phone varchar(20);
    

    4.4 修改储存引擎
    格式
    
    alter table 表名  engine = 新的引擎名;
    
    例
    alter table stu engine = innodb;
    alter table stu1 engine = myisam;
    
    • 结论:
      发现只要新建一个数据库, 就会自动创建一个文件夹
      发现只要删除一个数据库, 就会自动删除一个文件夹
    innodb 默认的存储引擎
    create table stu(
        id int,
        name varchar(20)
    );
    
    create table stu1(
        id int,
        name varchar(20)
    )engine=innodb;
    

    通过观察发现指定存储引擎为innodb和不指定引擎创建表生成的文件夹都一样, 所以推断出默认使用的就是innodb存储引擎

    • innodb存储引擎只要创建一张表就会自动创建一个后缀为frm的文件

    注意:

    • .frm文件不是存储表中的数据的, 数据会存储到ibdata1中, 如果数据比较多系统会自动创建ibdata2, ibdata3, ....
    • .frm文件是MySQL表结构定义文件

    engine = myisam 储存引擎
    create table stu2(
        id int,
        name varchar(20)
    )engine=myisam;
    
    • 通过观察发现指定存储引擎为myisam, 只要创建一张表就会自动创建三个文件
    • .frm文件是MySQL表结构定义文件
    • .MYD文件存储表的数据
    • .MYI文件存储表的索引

    engine = memory; 储存引擎
    create table stu3(
        id int,
        name varchar(20)
    )engine=memory;
    
    • 通过观察发现指定存储引擎为memory; 只要创建一张表就会自动创建一个文件
    • .frm文件是MySQL表结构定义文件

    注意点:

    • memory会将数据存储到内存中, 一旦电脑重启数据就不见了
    • 特点读写比较快, 但是不会永久存储

    4.5修改表的名称
    格式:
    alter table 原表名 rename to 新表名 ;
    
    例如:
    alter table stu1 rename to stu2;
    

    相关文章

      网友评论

          本文标题:数据库表的基本操作

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