MySQL 数据库的对库的操作及其数据类型

目录
  • 1. 数据库的操作
    • 1.1 显示数据库
    • 1.2 创建数据库
    • 1.3 选中数据库
    • 1.4 删除数据库
  • 2. MySQL 中的数据类型
    • 2.1 数值类型
    • 2.2 字符串类型
    • 2.3 日期类型

1. 数据库的操作

注意:

  • SQL 语句不区分大小写,以下将以小写的语句来演示
  • 每个 SQL 语句后面都要加英文的分号(个别语句不用加分号,但是推荐无脑全加)
  • [] 中括号中的语句是可选的
  • 库名、表名、列名等等不能和关键字相同,如果一定要用关键字为名,则可以通过反引号把名字引起来

1.1 显示数据库

语法:

show databases;

示例:

补充:

(0.00 sec) :表示执行这条语句花费的时间,即花费了0.00秒

1.2 创建数据库

语法:

create database [if not exists] 数据库名 [create_specification [,create_specification]];
  • if not exists:表示如果系统没有该数据库,则新建;如果有,则不创建
  • create_specification:包含两个内容 character set 字符集名 和 collate 数据库字符集的校验规则
  • 没有指定字符集和其校验规则时,系统默认使用的字符集是:latin1,为了更好的支持中文,可以修改成 utf8mb4 或者 GBK

示例一:

示例二:

示例三:

补充:

(1)其实 if not exists 这个语句很重要。因为我们现在是单行输入,SQL 语句如果报错,影响也不大,我们只要重新输入正确的就行。但是如果先将 SQL 写到文件中,然后批量执行它,那么只要其中某条语句报错了,后面的 SQL 语句就不能继续执行了
(2)字符集: 是指多个字符的集合。不同的字符集包含的字符个数不一样、包含的字符不一样、对字符的编码方式也不一样。例如 GB2312 是中国国家标准的简体中文字符集,GB2312 收录简化汉字(6763个)及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。而 ASCII 字符集只包含了128字符,这个字符集收录的主要字符是英文字母、阿拉伯字母和一些简单的控制字符。另外,还有其他常用的字符集有 GBK 字符集、GB18030 字符集、Big5 字符集、Unicode 字符集等。
(3)字符集校验规则: 指的是字符集比较大小的时候依据的准则,比如我们比较a和B的大小,如果不考虑大小写,那么 a<B,如果考虑大小写,则 a>B,也就是说,同一字符集,不同的比较规则,对某列数据的排序结果也就会产生不同。MySQL 中的字符校验规则可以通过 show collation;语法来查看,如下:

我们可以看到,结果中一共有195中比较规则,其中,每种字符集都包含自己默认的校验规则,我们简单解释一条:utf8_polish_ci 以波兰语为规则进行对比,这个校验规则由三个部分组成,比较规则名称以与其关联的字符集的名称开头,utf8 是指的是 utf8 字符集的比较规则,polish 指的是波兰语,_ci 指的是不区分大小写。
(4)MySQL 种的 utf8 编码不是真正意义上的 utf8,因为它没能包含某些复杂的中文字符以及一些符号,如:emoji 类表情。MySQL 真正的 utf8 字符集是 utf8mb4

1.3 选中数据库

语法:

use 数据库名;

示例:

1.4 删除数据库

语法:

drop database [if exists] 数据库名;

示例:

补充:

删库其实是一件很危险的事情,emmm,进公司删库的话很容易进去

2. MySQL 中的数据类型

介绍:

MySQL 中定义数据字段的类型对数据库的优化是非常重要的。 MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和 字符串 (字符) 类型。 MySQL 支持所有标准 SQL 数值数据类型。

2.1 数值类型

补充:

  • 数值类型可以指定为无符号(unsigned),表示不取负数,不建议使用,官方文档明确即将弃用
  • MySQL 的数值类型无单独的字符类型 char,但是有字符串类型
  • 在之前写的 剖析 C 语言数据在内存中的存储 这篇文章中写过关于浮点数的存储,由于浮点数的存储其实是一种二进制的科学计数法的方式,所以只能精确表示如:0.5、0.25、0.125 这类的数值,其余只能表示一个近似值
  • Java 中的 BigDecimal 是用来精确表示浮点数的,是用了变长内存存储的方式,类似于字符串。但是也付出了需要更多空间和时间的代价
  • 表示钱的类型: 虽然钱可以用浮点数表示,但是由于钱其实都是整数,所以可以直接用 int 类型,单位就是分

2.2 字符串类型

补充:

  • varchar(size)size 表示的是这个字符串的最大长度,单位是字符
  • 汉字是一个字符,但不一定是一个字节
  • text 没有参数,会根据用户插入的数据来动态确定占用的空间
  • 前三个字符串类型都是保存的文本类型的数据,blob 是保存的二进制类型的数据
  • 二进制的数据例如:图片、mp3、视频、worldpptexcel、.class 文件等等
  • 表示图片的类型: 虽然图片是二进制类型的数据,但是由于 blob 能够存储数据的最大值为 64k,所以很多图片不使用,因此可以将图片以文件的形式放到硬盘,然后在数据库中记录这个图片的路径,这时就可以用一个字符串类型就轻松搞定了

2.3 日期类型

补充:

timestamp 意为时间戳,时间戳是一种计算机表示时间的方式,如:

注意:2038年这个 timestamp 类型就用不了,因此推荐写代码的时候使用 datetime

到此这篇关于MySQL 数据库的对库的操作及其数据类型的文章就介绍到这了,更多相关MySQL 对库操作及其数据类型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MySQL高级操作指令汇总

    目录 一.克隆表 法一 法二 二.清空表 法一 delete 法二 truncate 法三 drop 总结 三.创建临时表 四.外键约束 设置外键 五.用户管理 1.查看用户信息 2.新建用户create user 密码为明文 密码为密文 3.重命名rename 4.删除用户 5.修改密码 1.修改当前用户的密码 2.修改其他用户的密码 六.数据库用户授权 1.授予权限grant 2.查看权限 3.撤销权限 4.刷新权限 一.克隆表 法一 mysql> create table info1 li

  • MySQL几种更新操作的案例分析

    目录 案例分析 更新账户金额 直接更新 乐观锁方案 无锁方案 排队操作 常见问题 如果数据中存在 update_time 字段受影响的行数是多少? 如果执行 update 更新但受影响的行数为 0 会加行锁吗? 参考资料 本文将通过一个 用户账户金额更新的案例 分析几种数据更新的操作的优劣.希望对大家有帮助

  • MySQL 数据库聚合查询和联合查询操作

    目录 1. 插入被查询的结果 2. 聚合查询 2.1 介绍 2.2 聚合函数 2.3 group by 子句 2.4 having 3. 联合查询 3.1 介绍 3.2 内连接 3.3 外连接 3.4 自连接 3.5 子查询 3.6 合并查询 1. 插入被查询的结果 语法: insert into 要插入的表 [(列1, ..., 列n)] select {* | (列1, ..., 列n)}from 要查询的表 上述语句可以将要查询的表的某些列插入到新的表中对应的某些列 示例1: 将 stud

  • MySQL 8.0 可以操作 JSON 了

    目录 1.简单概述 2.JSON基础工具 3.JSON Path expression 4.查找并修改JSON 前言: 经过漫长的测试,即将整体迁移至Mysql8.0; Mysql8.0 对于Json操作新增/优化了很多相关Json的API操作; 阅读了一下官方文档,虽然绝大多数的JSON操作都是应用层完成,但是会一些Mysql的JSON语法,方便进行debug:选出基础的, 有价值的部分,供未来参考: https://dev.mysql.com/doc/ref... https://dev.m

  • MySQL数据库终端—常用操作指令代码

    目录 1.添加用户 2.更改用户名和host主机 3.更改密码 4.删除用户 5.查询所有用户及主机host 6.查看数据库 7.创建数据库 8.查看数据库定义信息 9.删除数据库 10.刷新权限 11.常用命令如下 1.添加用户 //新建用户 create user 用户名 identified by '密码';  //查看已有用户及主机名 select user,host from mysql.user; 2.更改用户名和host主机 //更改用户名 rename user '原用户名'@'

  • MySQL 数据库中数据表超详细的基本操作

    目录 1. 查看当前数据库中的表 2. 创建表 3. 查看指定表结构 4. 删除表 5. 往表中新增数据 6. 查找表中的数据 6.1 全列查询 6.2 指定列查询 6.3 查询字段为表达式 6.4 给某个列指定常量 6.5 给查询的表达式指定别名(as) 6.6 去重查询(distinct) 6.7 对查询结果进行排序(order by) 6.8 条件查询(where) 6.9 分页查询(limit) 7. 修改表中的数据 8. 删除表中的数据 前言: 库名.表名.列名等等不能和关键字相同,如

  • MySQL操作符(and、or、in、not)的具体使用

    目录 1.简介 2.正文 2.1 and操作符 2.2 or操作符 2.3 in操作符 2.4 not操作符 2.5 操作符顺序 1.简介 在MySQL中使用where子句对查询数据进行过滤时,往往需要同时满足多个过滤条件,或者满足多个过滤条件中的某一个条件,此时我们就可以使用操作符将where子句联结起来. 几个操作符的作用: 操作符 作用 and 与,需要同时满足where子句中的条件 or 或,只需要匹配多个where子句中的一个条件 in 用于指定where子句查询的范围 not 非,一

  • MySQL 数据库的对库的操作及其数据类型

    目录 1. 数据库的操作 1.1 显示数据库 1.2 创建数据库 1.3 选中数据库 1.4 删除数据库 2. MySQL 中的数据类型 2.1 数值类型 2.2 字符串类型 2.3 日期类型 1. 数据库的操作 注意: SQL 语句不区分大小写,以下将以小写的语句来演示 每个 SQL 语句后面都要加英文的分号(个别语句不用加分号,但是推荐无脑全加) [] 中括号中的语句是可选的 库名.表名.列名等等不能和关键字相同,如果一定要用关键字为名,则可以通过反引号把名字引起来 1.1 显示数据库 语法

  • MySQL 数据库的对库的操作及其数据类型

    目录 1. 数据库的操作 1.1 显示数据库 1.2 创建数据库 1.3 选中数据库 1.4 删除数据库 2. MySQL 中的数据类型 2.1 数值类型 2.2 字符串类型 2.3 日期类型 1. 数据库的操作 注意: SQL 语句不区分大小写,以下将以小写的语句来演示 每个 SQL 语句后面都要加英文的分号(个别语句不用加分号,但是推荐无脑全加) [] 中括号中的语句是可选的 库名.表名.列名等等不能和关键字相同,如果一定要用关键字为名,则可以通过反引号把名字引起来 1.1 显示数据库 语法

  • Python实现连接MySql数据库及增删改查操作详解

    本文实例讲述了Python实现连接MySql数据库及增删改查操作.分享给大家供大家参考,具体如下: 在本文中介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查.(注意是python3) 1.安装PyMySQL PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb.PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库.在使用 PyMySQ

  • MySQL数据库设计之利用Python操作Schema方法详解

    弓在箭要射出之前,低声对箭说道,"你的自由是我的".Schema如箭,弓似Python,选择Python,是Schema最大的自由.而自由应是一个能使自己变得更好的机会. Schema是什么? 不管我们做什么应用,只要和用户输入打交道,就有一个原则--永远不要相信用户的输入数据.意味着我们要对用户输入进行严格的验证,web开发时一般输入数据都以JSON形式发送到后端API,API要对输入数据做验证.一般我都是加很多判断,各种if,导致代码很丑陋,能不能有一种方式比较优雅的验证用户数据呢

  • python3.6连接mysql数据库及增删改查操作详解

    折腾好半天的数据库连接,由于之前未安装 pip ,而且自己用的python 版本为3.6. 只能用 pymysql 来连接数据库,下边 简单介绍一下 连接的过程,以及简单的增删改查操作. 1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import pymysql #导入 pymysql 如果编译未出错,即表示 pymysql 安装成功 简单的增删改查操作 示

  • java jdbc连接mysql数据库实现增删改查操作

    jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的时候才能更好的去理解这些成熟的框架是如何去实现增删改查

  • SpringBoot连接MYSQL数据库并使用JPA进行操作

    今天给大家介绍一下如何SpringBoot中连接Mysql数据库,并使用JPA进行数据库的相关操作. 步骤一:在pom.xml文件中添加MYSQl和JPA的相关Jar包依赖,具体添加位置在dependencies中,具体添加的内容如下所示. <!--数据库相关配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-

  • 修改MySQL数据库引擎为InnoDB的操作

    PS:我这里用的PHPStudy2016 1.修改时停止MySQL 2.修改my.ini default-storage-engine=INNODB 3.修改后删除D:\phpStudy\MySQL\data下ib开头的日志文件 4.启动MySQL 设置好后,通过navicat创建与目标数据库一致编码的新数据库,然后复制过来即可.复制过来的数据表数据引擎与源数据表数据引擎一致. 注:修改数据表引擎 alter table tableName type=InnoDB 补充:InnoDB和MyISA

  • python连接mysql数据库示例(做增删改操作)

    一.相关代码数据库配置类 MysqlDBConn.py 复制代码 代码如下: #encoding=utf-8'''Created on 2012-11-12 Mysql Conn连接类''' import MySQLdb class DBConn: conn = None #建立和数据库系统的连接    def connect(self):        self.conn = MySQLdb.connect(host="localhost",port=3306,user="

  • python简单实现操作Mysql数据库

    用python编写数据库的代码很方便,但是如果不想自己写sql语句,其实还有更多的讨巧办法.使用webpy的db库就是不错的一个选择.当然为了使用webpy的db,之前你还需要安装MySQLdb,其他的就不需要做什么了. 1.安装MySQLdb库 sudo apt-get install python-MySQLdb 2.安装webpy sudo apt-get install python-webpy 3.连接数据库 import web db = web.database(dbn='mysq

随机推荐