美文网首页数据分析32天
数据分析系列 13/32 | MySQL定义数据库与数据类型

数据分析系列 13/32 | MySQL定义数据库与数据类型

作者: 数据之魅 | 来源:发表于2020-05-01 15:33 被阅读0次
image

数据类型(data type)是指系统中所允许的数据的类型。不同的编程语言所包含和允许的数据类型是不一样的,数据库中每个字段都应有适当的数据类型,用来限制或允许该字段中存储的数据。
PART 01
创建数据库
MySQL中创建数据库的语法是:

CREATE {DATABASE | SCHEMA} [IF NOT EXIST] db_name
[ [DEFAULT] CHARACTER SET [=] charset_name ]
[ [DEFAULT] COLLATE [=] collation_name];

语法说明:

“[ ]”内为可选项。

“|”用于分隔大括号中的选项,表示可任选其中一项来与大括号外的语法成分共同组成SQL命令,选项之间是“或”的关系。

db_name:数据库名。在文件系统中,MySQL的数据存储区是以目录方式表示MySQL数据库。所以命令中的数据库名必须符合操作系统的文件夹命名规则,在MySQL中是不区分大小写的。

IF NOT EXIST:创建数据库的时候进行判断,只有该数据库目前尚不存在时才执行CREATE DATABASE。这样可以避免出现数据库已经存在而再新建的错误。

CHARACTER SET:用于指定数据库字符集(Charset),charset_name为字符集名称。简体中文字符集名称为gb2312,但是现在一般都是Unicode字符集。视情况而定。

COLLATE:用于指定字符集的校订规则,collation_name为校订规则的名称。简体中文字符集的校对规则为gb2312_chinese_ci。Unicode字符集的校对规则为utf8mb4_unicode_ci。

DEFAULT:指定默认的数据库字符集和字符集的校对规则。

现在我们在MySQL中创建一个名字为db_school的数据库,命令如下:

CREATE DATABASE db_school
DEFAULT CHARACTER SET gb2312
DEFAULT COLLATE gb2312_chinese_ci;

上面的命令执行成功后,系统会自动在MySQL的安装路径\data下创建一个同名文件夹,其中包含一个db.opt文件,用于存储创建数据库的全局特性,如缺省字符集和校对规则等。

重新执行上面的SQL会报错,因为数据库已经存在了,加上IFNOT EXIST就可以避免报错。
PART

02
数据库操作

选择与查看数据库

选择数据库:USE db_school;

查看数据库:SHOW {DATABASES | SCHEMAS};

这里会看到当前用户权限范围内所能查看到的所有数据库名称。

下面看一下MySQL安装时系统自动创建的数据库,他们的作用如下表:


图片.png

修改数据库

在MySQL中,数据库的默认字符集为latin1,默认校对规则为latin1_swedish_ci。使用ALTER DATABASES 或ALTER SCHEMA可以修改数据库的默认字符集和字符集的校对规则。语法格式是:

ALTER {DATABASE | SCHEMA} [IF NOT EXIST] [db_name]
[ [DEFAULT] CHARACTER SET [=] charset_name ]
[ [DEFAULT] COLLATE [=] collation_name];

PS.在使用创建等的命令时,我们必须获得相应的权限,一般来说,我们是有的,但是因为权限问题,所以还是注意分配好使用权限。

ALTER DATABASE db_school
DEFAULT CHARACTER SET 'utf8mb4'
DEFAULT COLLATE utf8mb4_general_ci;

修改成功,再次查看数据库的校对规则已经变了。

删除数据库

删除数据库是将已创建的数据库文件夹从磁盘空间上清除,同时里面的数据也被清除,(这很危险,要谨慎操作,数据无价)。语法格式如下:

DROP {DATABASES | SCHEMA} [ IF EXISTS ] db_name;

执行删除操作,需要相应的权限,防止误删,可选项IF EXISTS子句可以避免删除不存在的数据库时出现MySQL错误信息。

PS.不能删除MySQL安装时自动创建的数据库,否则MySQL不能正常工作。
PART
03
MySQL中的常用数据类型

1、数值类型

Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLEPRESISION),并在此基础上进行扩展。

扩展后增加了TINYINT,MEDIUMINT,BIGINT这3种长度不同的整型,并增加了BIT类型,用来存放位数据。


图片.png

2、日期和时间类型


图片.png
3、字符串类型
图片.png

今天主要讲一下MySQL中常用的数据类型,方便下面的学习,熟悉之后,我们才能更好的应用于我们的数据库,用合适的数据类型来存储合适的数据,这样不仅节省空间和资源,也方便后期的维护和优化。

欢迎关注微信公众号,访问更多精彩:数据之魅

如需转载,请联系授权,谢谢合作。

image

相关文章

  • 数据分析系列 13/32 | MySQL定义数据库与数据类型

    数据类型(data type)是指系统中所允许的数据的类型。不同的编程语言所包含和允许的数据类型是不一样的,数据库...

  • 4、mysql基本数据类型

    [toc] MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种...

  • 2 MySQL数据类型

    2 MySQL数据类型   MySQL中定义数据字段的类型对你数据库的优化是非常重要的。   MySQL支持多种类...

  • 数据分析系列 18/32 | MySQL中的数据分析函数实战

    数据分析系列 17/32 | MySQL中的数据分析函数,在前面我们对MySQL中的数据分析函数有了了解,今天我们...

  • MySQL的数据类型

    MySQL 数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以...

  • MySQL学习日记(五)-数据类型

    1、MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大...

  • MySQL 数据类型

    MySQL 数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以...

  • MySql表设计与优化

    MySql设计与优化系列笔记:一、数据库设计三范式与反范式二、MySql表设计与优化 1、实体关系分析 实体关系需...

  • mysql(2) 数据类型

    MySQL数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分...

  • Mysql所有的数据类型[转]

    MySQL 数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分...

网友评论

    本文标题:数据分析系列 13/32 | MySQL定义数据库与数据类型

    本文链接:https://www.haomeiwen.com/subject/yvrqghtx.html