目次
前言
MySQL数据库简介
怎样操纵数据库
SQL的分类
1. 数据库的操纵
1.1 显示当前的数据库
1.2 创建数据库
1.3 使用数据库
-选择数据库
1.4 删除数据库
2. 常用数据类型
2.1 数值类型:
2.2 字符串类型
2.3 日期类型
3. 表的操纵
表是什么
3.1 创建表
3.2检察表结构
3.3 删除表
前言
MySQL数据库简介
MySQL是一个关系型数据库
关系型数据库是指接纳了关系模子来组织数据的数据库,简而言之,关系模子就是一个二维表格模子。
关系型数据库就是由二维表格以及他们之间的接洽所构成的一个数据组织。(如下图)
怎样操纵数据库
数据库是用来生存数据的,而操纵数据库需要用到SQL
SQL自己就是针对数据库操纵的语言,和数据库是两个概念,切勿混淆。
SQL的分类
DDL 数据定义语言,用来维护存储数据的结构。
代表指令:create , drop , alter
DML 数据使用语言,用来对数据(数据行)进行操纵。
代表指令:insert , delete , update
DML又单独分出一个DQL,数据查询语言,代表指令:select
DCL 数据控制语言,紧张负责权限管理和事务。
代表指令:grant , revoke , commit
1. 数据库的操纵
注意:我们要操纵的数据库一定是我们自己创建的数据库,MySQL自带的数据库万万不要随意改动,更不能删除!否则大概导致MySQL无法启动。
1.1 显示当前的数据库
show databases;
其中:
赤色标记出来的是MySQL自带的数据库,记载的是一些关于MySQL自身的配置等信息。
蓝色标记出来的是体系自带的用于练习的数据库,示例数据库。
绿色标记出来的是我自己创建的数据库。
使用数据库一定只使用自己的数据库,其他的不要随意乱动!
1.2 创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_option] create_option:[default] { character set [=] charset_name | collate [=] collation_name | encryption [=] {'Y' | 'N'} } 其中:方括号[]内的是选填项,花括号{}内的是必填项。
如果去除全部选填项,最简朴的语句应该是:create database db_name;
创建一个名为test_2的数据库:
Query OK,1 row affected(0.02 sec)的意思是实行乐成,一行代码受影响(实行花费0.02秒)
然后我们再实行一次show databases;检查一下数据库是否被乐成创建:
可以看到名为test_2的数据库已经乐成创建了。
如果此时我们再创建一个名为test_2的数据库会怎么样呢?
事实证明:如果已经存在一个数据库,再创建一个同名的数据库会直接报错。
如果我们加上一个if not exists :
就会显示实行乐成,但是会产生一条警告!
我们再使用show warnings;检察产生的警告:
警告意为:已经存在同名的数据库test_2,故无法创建。
if not exists的作用:
让语句乐成实行,从而包管整个实行流程的运行。
如果不加if not exists就会报错,导致整个实行流程停止。
1.3 使用数据库
语法:
USEdb_name; db_name为数据库名
使用示例:
-选择数据库
指令:select database();
这是MySQL提供的一个内置方法。
可以检察当前操纵的是哪个数据库。
如果当前没有选择数据库:
如果选择了数据库:
1.4 删除数据库
语法: DROP DATABASE [IF EXISTS] db_name; 使用示例: 再检查一下是否删除了数据库: 可以看到test_2已经被删除了。 2. 常用数据类型
2.1 数值类型:
数据类型 | 大小 | 分析 | 对应java类型 | BIT[(M)] | M指定位数,默以为1 | 二进制数,M范围从1到64,存储数值范围从0到2^M-1 | 常用Boolean对应BIT,此时默认是1位,即只能存0和1 | TINYINT | 1字节 | - | Byte | SMALLINT | 2字节 | - | Short | INT | 4字节 | - | Integer | BIGINT | 8字节 | - | Long | FLOAT(M,D) | 4字节 | 单精度,M指定长度(有效数字),
D表示小数点位数,精确数值
| Float | DOUBLE(M,D) | 8字节 | | Double | DECIMAL(M,D) | M/D最大值+2 | 双精度,M指定长度,D表示小数点位数,精确数值 | BigDecimal | NUMERIC(M,D) | M/D最大值+2 | 和DECIMAL一样 | BigDecimal | 其中,float和double类型,在表示小数的时候都不是特别精准,以是用decimal类型去表示小数。
2.2 字符串类型
数据类型 | 大小 | 分析 | 对应java类型 | VARCHAR(SIZE) | 0-65535字节 | 可变长度字符串 | String | TEXT | 0-65535字节 | 长文本数据 | String | MEDIUMTEXT | 0-16777215字节 | 中等长度文本数据 | String | BLOB | 0-65535字节 | 二进制情势的长文本数据 | byte[] | 其中:
varchar(size)是最常用的一种字符串类型。size可以指定字符串长度(多少个字符,不是字节)
utf8mb4编码集,一个符最多四个字节,根据字符情况用1-4个字节来表示一个字符。
文本文件:人能直接看得懂的文件,比如记事本里面写的笔墨。
二进制文件:直接打开的话里面都是一堆乱码,这些文件只有呆板读得懂,一般称之为二进制文件
2.3 日期类型
数据类型 | 大小 | 分析 | 对应java类型 | DATETIME | 8字节 | 范围从1000到9999年,不会进行时区的检索及转换 | java.util.Date
java.sql.Timestamp
| TIMESTAMP | 4字节 | 范围从1970到2038年,自动检索当前时区并进行转换 | java.util.Date
java.sql.Timestamp
| 一般使用datetime而不用timestamp。因为timestamp范围太小了。
3. 表的操纵
表是什么
一般来说,创建完数据库之后,就要在数据库中创建表,表中存储数据记载(行),
一条记载由不同的列构成。
3.1 创建表
创建表之前,需要先选择要操纵的数据库,否则会报错。
语法:
CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype );
可以使用comment增长字段分析。
示例:创建一个门生表student,表中包罗两个字段,id表示编号,name表示姓名,长度为50
3.2检察表结构
语法:
desc 表名 ; 使用示例:
解释:
创建表中加校验:
create table if not exists 表名(
字段 数据类型,
);
结果跟上面创建数据库是一样的。
3.3 删除表
语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
使用示例:
删除表也可加校验: drop table if exists table_name;
示例:
完
如果那里有疑问的话接待来批评区指出和讨论,如果以为文章有代价的话就请给我点个关注还有免费的收藏和赞吧,谢谢大家!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |