当前位置 博文首页 > 信息技术智库:6.MySQL数据库与数据表操作

    信息技术智库:6.MySQL数据库与数据表操作

    作者:[db:作者] 时间:2021-09-13 18:56

    数据库的操作:数据库创建 ;数据库删除

    数据表的操作:数据表的创建;数据表的修改 (表结构) ;数据表的删除

    数据库的操作

    1.数据库的创建

    ?? # 链接mysql数据库后,进入mysql后可以操作数据

    # 1. 创建库

    create database if not exists tlxy default charset=utf8;

    -- 1. 数据库 tlxy 如果不存在则创建数据库,存在则不创建

    -- 2. 创建 tlxy 数据库,并设置字符集为utf8

    -- 3. 无特殊情况都要求字符集为utf8或者utf8mb4的字符编码

    2.查看所有库

    # 1. 查看所有库 show databases;

    3.打开库/进入库/选择库

    # use 库名 use tlxy

    4.删除库

    删库有风险,动手需大胆(哈哈哈,大不了西红柿带你跑路)

    # 删除库,那么库中的所有数据都将在磁盘中删除。 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=utf8;

    # 查看表结构 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;

    删除字段

    ?? # 删除字段 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.修改表名

    # 语法:alter table 原表名 rename as 新表名

    4.更改表中的自增的值

    # 在常规情况下,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=utf8

    1 row in set (0.00 sec)

    # 直接查看当前表状态信息

    mysql> show table status from tlxy where name = 'users'\G; *************************** 1. row ***************************

    ?? ? ? ? ? Name: users

    ?? ? ? ? Engine: InnoDB

    # 修改表引擎语句

    alter table users engine = 'myisam';

    6.删除表

    drop table 表名

    ? ?

    cs