> 文档中心 > 【MySQL8入门到精通】运维篇-表管理

【MySQL8入门到精通】运维篇-表管理


📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

  • 前言
    • 🚀 1.创建和删除数据库
    • 🚀 2.选择数据库
    • 🚀 3 创建和删除表
    • 🚀 4 插入数据
    • 🚀 5 字段修改
    • 🚀 6 查看表结构

前言

绝大多数使用Linux操作系统的大中小互联网网站都在使用MySQL作为其后端的数据库存储, 本系列要是我们团队20多人从事MySQL DBA 多年的工作经验中总结提炼而成,每周更新2篇


🚀 1.创建和删除数据库

1、 MySQL 8.0 之前默认的数据库字符集是 latin1,从 8.0 开始,默认就是 utf8mb4 字符集。
2、 utf8mb4 可以存储表情等特殊字符,MySQL8 中建议使用 utf8mb4,而不要使用 utf8。
3、创建的数据库字符集与参数设置有关;
4、ENGINE=InnoDB为存储引擎

mysql> create database test1;
mysql> show create database test1;
mysql> show variables like ‘%set%’;

🚩🚩 常用命令

1.create database dbname;
2. create database db4 character set utf8mb4;
3. create database db1 charset utf8mb4;
4. drop database dbname;
##Linux常用
5. mysqladmin -uroot -proot -h192.168.1.5 -P3306 drop dbname
6. mysql -uroot -proot -h192.168.1.5 -P3306 -e “drop database db1”
7. show databases;
8. show create database dbname;

🚀 2.选择数据库

mysql> use db1;
Database changed
执行以上命令后,你就已经成功选择了db1数据库,在后续的操作中都会在 db1 数据库中执行。

🚀 3 创建和删除表

create table t1(id int(10),name varchar(20));
create table if not exists t1(id int(10),name varchar(20));
create table XX SELECT * FROM XXX;
drop table t1;
show tables;
drop table if exists xxx;

CREATE TABLE if not exists student (
id int auto_increment primary key comment ‘主键’,
no VARCHAR(20) unique not NULL comment ‘学号’,
name VARCHAR(20) NOT null comment ‘姓名’,
sex enum(‘F’,‘M’,‘UN’) NOT null comment ‘性别’,
birthday date comment ‘生日’,
OrderDate datetime NOT NULL DEFAULT NOW() comment ‘日期’,
class VARCHAR(20) comment ‘所在班级’
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment ‘学生表’ ;

在这里插入图片描述

mysql> show FULL COLUMNS from student; --显示备注
mysql> show warnings --查看报错信息

🚩🚩表重命名

使用RENAME [TO]子句将数据库db_school中的数据表tb_student2重新命名为backup_tb_student
alter table tb_student2 rename to backup_tb_student;

🚀 4 插入数据

INSERT INTO student(NO,NAME,SEX,BIRTHDAY,CLASS)
values (‘101’, ‘曾华’, ‘F’, ‘1977-09-01’, ‘95033’),
(‘102’, ‘匡明’, ‘F’, ‘1975-10-02’, ‘95031’),
(‘103’, ‘王丽’, ‘M’, ‘1976-01-23’, ‘95033’),
(‘104’, ‘李军’, ‘M’, ‘1976-02-20’, ‘95033’),
(‘105’, ‘王芳’, ‘M’, ‘1975-02-10’, ‘95031’),
(‘106’, ‘陆军’, ‘M’, ‘1974-06-03’, ‘95031’),
(‘107’, ‘王飘飘’, ‘M’, ‘1976-02-20’, ‘95033’),
(‘108’, ‘张全蛋’, ‘F’, ‘1975-02-10’, ‘95031’);

在这里插入图片描述

🚀 5 字段修改

1.向tb_student表中添加一个varchar(16)类型的字段department,用于描述学生所在院系,
要求设置其默认值为“城市学院”,并将该字段添加到原表nation之后
mysql> alter table tb_student add department varchar(16)
DEFAULT ‘城市学院’ comment ‘院系’ after nation;
2.将tb_student中的字段birthday重命名为age,并将其数据类型更改为TINYINT,
允许其为NULL,默认值为18
mysql> alter table tb_student change birthday age TINYINT DEFAULT 18;
3.将tb_student表中的字段department的默认值删除
mysql> ALTER TABLE tb_student ALTER COLUMN department DROP DEFAULT;
4.将tb_student表中的字段department的默认值改为’环化学院’
mysql> ALTER TABLE tb_student ALTER COLUMN department SET DEFAULT ‘环化学院’;
5.将tb_student表中的字段department的数据类型更改为varchar(20),
取值不允许为空,并将此字段移至字段studentName之后。
mysql> ALTER TABLE tb_student MODIFY department varchar(20) not null after studentName;

🚀 6 查看表结构

desc tablename;
describe tablename;
show create table tablename;
show columns from tbname;
show full columns from tbname;