• 『MySQL快速上手』-④-表的操作


    在这里插入图片描述

    1.创建表

    语法格式如下:

    CREATE TABLE table_name (
    field1 datatype,
    field2 datatype,
    field3 datatype
    ) character set 字符集 collate 校验规则 engine 存储引擎;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    说明:

    • field 表示列名;
    • datatype 表示列的类型;
    • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准;
    • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准;

    案例——创建表

    create  table users (
     	id int,
     	name varchar(20) comment '用户名',
     	password char(32) comment '密码是32位的md5值',
     	birthday date comment '生日'
    ) character set utf8 engine MyISAM;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    注意

    • 不同的存储引擎,创建表的文件不一样。users 表存储引擎是 MyISAM ,在数据目录中有三个不同的文件,分别是:
      • users.frm:表结构;
      • users.MYD:表数据;
      • users.MYI:表索引;
    $ ls -l  /var/lib/mysql/db1/
    
    • 1

    在这里插入图片描述

    • 再例如,我们可以创建一个engineInnoDB的数据库,并观察存储目录;
    mysql> create table users_1(
        -> id int,
        -> name varchar(20),
        -> password char(32),
        -> birthday date 
        -> ) character set utf8 engine InnoDB;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    $ ls -l  /var/lib/mysql/db1/
    
    • 1

    在这里插入图片描述

    2.查看表结构

    语法:

    desc 表名;
    
    • 1

    在这里插入图片描述
    说明:

    • Field:字段名字;
    • Type:字段类型;
    • Null:是否允许为空;
    • Key:索引类型;
    • Default:默认值;
    • Extra:扩充;

    3.修改表

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

    语法结构:

    ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
    datatype]...);
    ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);
    ALTER TABLE tablename DROP (column);
    
    • 1
    • 2
    • 3
    • 4

    案例1

    • users表添加两条记录;
    insert into users values(1,'Mark','112233','1921-02-03'), (2,'John','223344','2003-01-23');
    
    • 1
    select * from users;
    
    • 1

    在这里插入图片描述

    • users表添加一个字段,用于保存图片路径;
    alter table users add assets varchar(100) comment '图片路径' after birthday;
    
    • 1
    desc users;
    
    • 1

    在这里插入图片描述

    • 插入新字段后,对原来表中的数据没有影响:
    select * from users;
    
    • 1

    在这里插入图片描述
    案例2

    • 修改name,将其长度改成60
    alter table users modify name varchar(60);
    
    • 1
    desc users;
    
    • 1

    在这里插入图片描述
    案例3

    • 删除password列(删除字段一定要小心,删除字段及其对应的列数据都没了);
    alter table users drop password;
    
    • 1
    desc users;
    
    • 1

    在这里插入图片描述

    select * from users;
    
    • 1

    在这里插入图片描述
    案例4

    • 修改表名为employee
    alter table users rename to employee;
    
    • 1

    在这里插入图片描述
    案例5

    • name列修改为xingming
    alter table employee change name xingming varchar(60);
    
    • 1

    在这里插入图片描述

    4.删除表

    语法格式:

    DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
    
    • 1

    案例

    • 删除表 users_1
    drop table users_1;
    
    • 1
    show tables;
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    遥感和GEE不正式告别
    MySQL识别不了中文怎么办?(适合新手)
    【php实战项目训练】——thinkPhP的登录与退出功能的实现,让登录退出畅通无阻
    汇编程序学习
    vue如何二次封装一个高频可复用的组件
    使用nodejs-koa2-mysql-sequelize-jwt 实现项目api接口
    支持CAN FD的Kvaser PCIEcan 4xCAN v2编码: 73-30130-01414-5如何应用?
    Spring之aop
    实战基于Docker部署FLASK后端api并使用云托管服务
    一文详解affine_grid 与 grid_sample以及与opencv坐标系的关系
  • 原文地址:https://blog.csdn.net/gllll_yu/article/details/134269000