MySQL数据库与数据表操作
    5-2.mysql数据库与数据表操作 - 图1 数据库的操作
    5-2.mysql数据库与数据表操作 - 图2 数据库创建
    5-2.mysql数据库与数据表操作 - 图3 数据库删除
    5-2.mysql数据库与数据表操作 - 图4 数据表的操作
    数据表的创建
    数据表的修改 (表结构)
    数据表的删除

    数据库的操作
    1.数据库的创建

    # 链接mysql数据库后,进⼊mysql后可以操作数据
    # 1. 创建库
    create database if not exists chuange default charset=utf8mb4;
    — 1. 数据库 chuange 如果不存在则创建数据库,存在则不创建
    — 2. 创建 chuange 数据库,并设置字符集为utf8mb4
    — 3. ⽆特殊情况都要求字符集为utf8或者utf8mb4的字符编码

    2.查看所有库

    5-2.mysql数据库与数据表操作 - 图5
    # 1. 查看所有库
    show databases ;
    3.打开库/进⼊库/选择库

    5-2.mysql数据库与数据表操作 - 图6
    # use 库名
    use chuange
    4.删除库

    删库有⻛险,动⼿需谨慎

    5-2.mysql数据库与数据表操作 - 图7
    # 删除库,那么库中的所有数据都将在磁盘中删除。
    drop database 库名

    数据表的操作
    1.创建表

    语法格式:
    create table 表名(字段名,类型,【字段约束】,。。。 );
    实例:

    # 以下创建⼀个 users 的表
    create table users(
    — 创建ID字段,为正整数,不允许为空 主键,⾃动递增
    id int unsigned not null primary key auto_increment ,
    — 创建 存储 名字的字段,为字符串类型,最⼤⻓度 5个字符,不允许为空
    username varchar(5 ) not null ,
    — 创建存储 密码 的字段,固定⻓度 32位字符, 不允许为空
    password char(32 ) not null ,
    — 创建 年龄 字段,不允许为空,默认值为 20
    age tinyint not null default 20
    )engine=innodb default charset=utf8mb4;

    # 查看表结构
    desc users;
    #查看建表语句
    show create table users;

    创建表的基本原则:
    表名和字段名 尽可能的符合命名规范,并且最好能够‘⻅名之意’
    表中数据必须有唯⼀标示,即主键定义。⽆特殊情况,主键都为数字并⾃增即可
    表中字段所对应的类型设置合理,并限制合理⻓度
    表引擎推荐使⽤innodb,并⽆特殊情况都要求为utf8或者utf8mb4的字符编码
    2.修改表结构

    语法格式: alter table 表名 action (更改的选项)
    添加字段

    # 语法: alter table 表名 add 添加的字段信息
    — 在 users 表中 追加 ⼀个 num 字段
    alter table users add num int not null ;

    — 在指定字段后⾯追加字段 在 users 表中 age字段后⾯ 添加⼀个 email 字段
    alter table users add email varchar(50 ) after age;

    — 在指定字段后⾯追加字段,在 users 表中 age字段后⾯ 添加⼀个 phone
    alter table users add phone char(11 ) not null after age;

    — 在表的最前⾯添加⼀个字段
    alter table users add aa int first ;

    删除字段

    5-2.mysql数据库与数据表操作 - 图8
    # 删除字段 alter table 表名 drop 被删除的字段名
    alter table users drop aa;
    修改字段

    语法格式: alter table 表名 change|modify 被修改的字段信息
    change : 可以修改字段名,
    modify : 不能修改字段名。
    # 修改表中的 num 字段 类型,使⽤ modify 不修改字段名
    alter table users modify num tinyint not null default 12 ;

    # 修改表中的 num 字段 为 int并且字段名为 nn
    alter table users change num mm int ;

    # 注意:⼀般情况下,⽆特殊要求,不要轻易修改表结构

    3.修改表名

    5-2.mysql数据库与数据表操作 - 图9
    # 语法: alter table 原表名 rename as 新表名
    4.更改表中的⾃增的值

    5-2.mysql数据库与数据表操作 - 图10
    # 在常规情况下, auto_increment 默认从1开始继续递增
    alter table users auto_increment = 1000 ;
    5.修改表引擎

    # 推荐在定义表时,表引擎为 innodb。
    # 通过查看建表语句获取当前的表引擎
    mysql> show create table users \G ;
    * 1. row *
    Table : users
    Create Table : CREATE TABLE users (

    PRIMARY KEY (id)
    ) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8mb4
    1 row in set (0.00 sec)

    # 直接查看当前表状态信息
    mysql> show table status from chuange where name = ‘users’ \G ;
    * 1. row *
    Name: users
    Engine : InnoDB

    # 修改表引擎语句
    alter table users engine = ‘myisam’ ;

    6.删除表

    5-2.mysql数据库与数据表操作 - 图11
    drop table 表名