我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【⑩MySQL】:表管理,让数据管理不再困难

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【⑩MySQL】:表管理,让数据管理不再困难

前言

✨欢迎来到小KMySQL专栏,本节将为大家带来MySQL表/数据库创建和管理的讲解


1. 基础知识

1.1 表的基本概念

在MySQL数据库中,表是一种很重要的数据库对象,是组成数据库的基本元素,由若干个字段组成,主要用来实现存储数据记录。表的操作包含创建表、查看表、删除表和修改表,这些操作是数据库对象的表管理中最基本、最重要的操作。

本小节只要讲解如下内容:

  • 表的相关概念;
  • 表的基本操作:创建、查看、更新和删除;
  • 表的使用策略。

表是包含数据库中所有数据的数据库对象。数据在表中的组织方式与在电子表格中相似,都是按行和列的格式组织的。其中每一行代表一条唯一的记录,每一列代表记录中的一个字段,如下图所示。

在这里插入图片描述

1.2 标识符命名规范

  1. 数据库名、表名不得超过30个字符,变量名限制为29个
  2. 只能包含大写、小写、数字字符以及下划线
  3. 同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名
  4. 不能和保留字、函数名冲突
  5. 保持字段名和类型的一致性:假如某个字段在一个表里面是整型,那在另一个表里面可就别变成字符串了

1.3 MySQL中的数据类型

类型具体类型
整数类型TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT
浮点类型FLOAT、DOUBLE
定点数类型DECIMAL
位类型BIT
日期时间类型YEAR、TIME、DATE、DATETIME、TIMESTAMP
文本字符串类型CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
枚举类型ENUM
集合类型SET
二进制字符串类型BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
json类型JSON对象、JSON数组
空间数据类型单值:GEOMETRY、POINT、LINESTRING、POLYGON
集合:MULTPOINT、MULTILINESTRING、MULTIPOLGON、GEOMTRYCOLLECTION

其中,常用的几类类型介绍如下:

类型描述
INT4个字节
CHAR(size)定长字符数据,若未指定,默认为一个字符,最大长度255
VARCHAR(size)可变字符数据,更具字符串实际长度保存,必须指定长度
FLOAT(M,D)单精度,4个字节。M=整数位+小数位,D=小数位(D<=M<=255,0<=D<=30),默认M+D<=6
DOUBLE(M,D)双精度,8个字节。D<=M<=255,0<=D<=30,默认M+D<=15
DECIMAL(M,D)高精度,M+2个字节。D<=M<=65,0<=D<=30,默认最大取值范围和DOUBLE一样
DATE日期类型,格式‘YYY-MM-DD’
BLOD二进制心事的长文本数据,最大可达4G
TEXT长文本数据,最大可达4G

2. 创建和管理数据库

2.1 创建数据库

  • 方式1:创建数据库

    CREATE DATABASE 数据库名;
  • 方式2:创建数据库并指定字符集

    CREATE DATABASE 数据库名 CHARACTER SET "uft8";
  • 方式3:判断数据库是否已经存在,不存在则创建(推荐)

    CREATE DATABASE IF NOT EXISTS 数据库名;

    注意:数据库不能改名。一些可视化工具可以改名,它是创建新库,然后把所有表复制到新库,再把旧库删掉完成的。

数据库创建完成之后,可以通过SHOW CREATE DATABASE 数据库名;查看创建数据库时使用的语句。

我们来看看一个创建的例子:

CREATE DATABASE king;SHOW CREATE DATABASE king;

在这里插入图片描述

我们查看一下,发现它默认创建的时候的字符集就是utf_8

2.2 使用数据库

  • 查看当前连接中有哪些数据库
SHOW DATABASES;
  • 切换数据库,在多个数据库之间切换
0USE 数据库名;
  • 查看当前使用的数据库
SELECT DATABASE();
  • 查看指定数据库所有表
SHOW TABLES FROM 数据库名;

下图是在我的电脑上执行以上语句得到的结果:

在这里插入图片描述

2.3 修改数据库

✨✨修改数据库字符集

ALTER DATABASE 数据库名 CHARACTER SET 字符集;#比如 gbk、utf8#查看默认字符集SHOW VARIABLES LIKE '%character%';#查看所有字符集SHOW CHARSET;

本地执行结果如下:

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

2.4 删除数据库

  • 直接删除

    DROP DATABASE 数据库名;
  • 如果数据库存在则删除,否则报一个警告(不会报错)

    DROP DATABASE IF EXISTS 数据库名;

3.创建表

在 MySQL数据库管理系统中创建表通过SQL语句CREATE TABLE 来实现

3.1 创建方式1

自己指定字段和数据类型

✨✨语法:

CREATE TABLE [IF NOT EXISTS] 表名(字段名 数据类型,    字段名 数据类型,    ...    字段名 数据类型,);

✨✨范例:

CREATE TABLE myemp(    id INT COMMENT '员工编号',    ename VARCHAR(20) COMMENT '员工名称',    deptno INT COMMENT '所在部门编号',    sal INT COMMENT '工资');

这里有一个词—COMMENT,也就是注释的意思,防止我们以后忘记这里代表什么含义,用如下语句查看:

SHOW CREATE TABLE mmp;

在这里插入图片描述

3.2 创建方式2

基于现有表创建新表

  • 基于现有表创建新表,同时导入数据

    #单个表CREATE TABLE myemp1ASSELECT empno,ename,sal FROM emp;#多个表CREATE TABLE myemp2ASSELECT e.empno,e.ename,e.sal,d.dname FROM emp e JOIN dept dON e.deptno=d.deptno;

在这里插入图片描述

  • 基于现有表创建新表,只复制表结构,不导入数据

    CREATE TABLE myemp3ASSELECT empno,ename,sal FROM emp WHERE 1 = 2;

在这里插入图片描述

3.3 查看表结构

✨✨创建完表,如果需要查看一下表的结构,可以通过执行SQL语句 DESCRIBE来实现,其语法形式如下:

DESC/DESCRIBE table_name;

DESC为DESCRIBE的简写形式,更为方便。

在这里插入图片描述

还有一种更详细查看表结构的语句:

SHOW CREATE TABLE table_name;

在这里插入图片描述

4. 修改表

✨修改数据表的前提是数据库中已经存在该表。修改表指的是修改数据库中已经存在的数据表的结构。修改数据表的操作也是数据库管理中必不可少的,就像画素描一样,画多了可以用橡皮擦掉,画少了可以用笔加上。

4.1 修改数据表

✨✨4.1.1 修改表名

方法一:通过 ALTER TABLE 语句来修改表名,语法规则如下:

ALTER TABLE <旧表名> RENAME [TO] <新表名>;

其中,TO 为可选参数,使用与否均不影响结果。

只能对一张表的表名进行修改。

范例:

ALTER TABLE myemp RENAME memp;

方法二:通过 RENAME TABLE 语句来修改表名,语法规则如下

RENAME TABLE <旧表名> TO <新表名>[,旧表名2 TO 新表名2]

范例:

RENAME memp TO myemp,myemp1 TO memp1;

可以同时修改多个表的表名。

✨✨4.1.2 修改字符集

通过ALTER TABLE语句来实现表字符集的修改,语法规则如下:

ALTER TABLE <表名> [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校对规则名>;

其中,DEFAULT 为可选参数,使用与否均不影响结果。

ALTER TABLE myemp CHARACTER SET gb2312;

4.2 增加字段

对于表,可以看成是由列和行来构成的,其中“列”经常被称为字段。

✨✨4.2.1 在最后添加字段

在创建表之后如果要增加一列,需要使用下面的语句。

ALTER TABLE table_name ADD 字段名 数据类型;

范例:

ALTER TABLE myemp ADD job VARCHAR(10);

✨✨4.2.2 在第一个位置添加字段

ALTER TABLE table_name ADD 字段名 数据类型 FIRST;

✨✨4.2.3 在指定位置添加字段

把字段1 添加到字段2之后

ALTER TABLE table_name ADD 字段名1 数据类型 AFTER 字段名2;

4.3 删除字段

ALTER TABLE table_name DROP 字段名;

4.4 修改字段

✨✨4.4.1 修改字段的数据类型

ALTER TABLE table_name MODIFY 字段名 数据类型;

✨✨4.4.2 修改字段名

ALTER TABLE table_name CHANGE 旧字段名 新字段名 数据类型;

如果数据类型和原来的数据类型一样,则只会修改字段名,如果数据类型不同,则同时会修改数据类型。

✨✨4.4.3 修改字段的顺序

ALTER TABLE table_name MODIFY字段名 数据类型 FIRST;ALTER TABLE table_name MODIFY字段名1 数据类型 AFTER 字段名2;
  • 第一个语句:把字段移动到第一个
  • 第二个语句:把字段1 移动到字段2之后

5. 删除表

DROP TABLE [IF EXISTS] table_name[,表1,表2...];

6.总结

本节主要为大家带来了MySQL表/数据库创建和管理的讲解,下节将为大家带来约束的讲解~

来源地址:https://blog.csdn.net/qq_72157449/article/details/131493872

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【⑩MySQL】:表管理,让数据管理不再困难

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

【⑩MySQL】:表管理,让数据管理不再困难

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL表/数据库创建和管理的讲解✨ 目录 前言1. 基础知识2. 创建和管理数据库3.创建表4. 修改表5. 删除表6.总结 1. 基础知识 ✨1.1 表的基本概
2023-08-17

驾驭 Java Git 风暴:让代码管理不再是难题

掌控 Java Git 技巧,告别代码管理难题,拥抱高效协作。
驾驭 Java Git 风暴:让代码管理不再是难题
2024-03-04

Sqlite—数据库管理与表管理

创建数据库[root@localhost ~]# sqlite3 testDB.db
2017-07-03

一招在手,数据库连接池管理不再难,网站性能飙升不是梦!

数据库连接池管理一直是DBA的一大痛点,连接池配置不当会导致网站性能低下,甚至宕机。本文将介绍一种简单易用的数据库连接池管理方法,帮助DBA轻松管理连接池,让网站性能飙升。
一招在手,数据库连接池管理不再难,网站性能飙升不是梦!
2024-02-06

数据库优化器:轻松搞定数据库难题,让数据管理更轻松

数据库优化器可以帮助数据库管理员轻松搞定数据库难题,让数据管理更轻松。本文将介绍数据库优化器的工作原理、使用方法以及如何选择合适的数据库优化器。
数据库优化器:轻松搞定数据库难题,让数据管理更轻松
2024-02-05

MYSQL数据库管理之权限管理解读

目录一、mysql权限简介1.MYSQL到底都有哪些权限呢?2.MYSQL的权限如何分布二、MYSQL权限经验原则三、MYSQL权限实战1.GRANT命令使用说明2.创建一个超级用户3.创建一个网站用户(程序用户)4.创建一个普通用户(仅有
2023-03-20

MYSQL数据库管理之权限管理怎么配置

这篇“MYSQL数据库管理之权限管理怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MYSQL数据库管理之权限管理怎么
2023-03-20

编程热搜

目录