目录
1.数据库:
2.数据库基本操作
2.1 MySQL的运行原理
2.2显示数据库:
2.3创建数据库
2.4使用数据库
2.5删除数据库
3.常见的数据类型
3.1数值类型:
3.2字符型类型
3.3日期类型
4.表的操作
4.1创建表
4.2查看表
4.3删除表
5.汇总
数据库概念:
数据库就是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、同意管理的大量数据的集合。
数据库作用:
目前来看,我们正处于互联网发展得到高峰期,互联网中最重要的就是信息(数据)。而数据库就对互联网中最重要的数据进行操作的一个软件(增删查改)。
数据库分类(两类):
关系型数据库:MySQL,Oracle,SQLserver.....
非关系型数据库:Redis,MongoDB,HBase......
写在前面:
- 数据库对命令的大小写不敏感,因此大小写都能识别,为了代码看起来优美,最好统一大写或小写。
- 在给数据库起名字和表起名字时,我们不能用数据库中的关键字进行命名,如果必须用关键字命名,我们需要将名字加上反引号(``)这个符号在Tab之上、Esc之下。
- 文章所有的图都是客户端输入命令后出现的结果的图。
MySQL是一个“客户端服务器”结构的程序,我们通过代码向服务器发送指令,服务器接收到指令,再根据用户指令进行反应.结构体如下:
MySQL中有自带的库,我们可以中show databases;来查看当前有什么库(如下图)。
语法:
show databases;
语法格式:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
说明:
示例:
create database if not exists student character set utf8mb4;
该代码的意思是:如果没有叫做student的数据库,那么就创建一个名字为student以utf8mb4字符集的数据库。
建立好了数据库,我们下一步就是使用数据库 ,也就是选中数据库,这样我们才能进行后续的操作(增删查改)。
use student;
语法格式:
drop database 数据库名称;
示例:
drop database student;
注意:删除数据库操作在开发当中是非常危险的,前面说了,数据是非常重要的,删除可能会对公司带来严重的打击,不要想着有备份,备份也是几小时、几天才进行一次备份的,在这个间隔时间当中,损失也是难以估计的!!!(但在学习数据库的阶段,可以过一过删库的瘾)。
分为整型和浮点型:
数据类型 | 大小 | 说明 | |
BIT[ (M) ] | M指定位 数,默认 为1 |
二进制数,M范围从1到64, 存储数值范围从0到2^M-1 |
|
TINYINT | 1字节 | Byte | |
SMALLINT | 2字节 | Short | |
INT | 4字节 | Integer | |
BIGINT | 8字节 | Long | |
FLOAT(M, D) | 4字节 | 单精度,M指定长度,D指定 小数位数。会发生精度丢失 |
|
DOUBLE(M, D) |
8字节 | Double | |
DECIMAL(M, D) |
M/D最大 值+2 |
双精度,M指定长度,D表示 小数点位数。精确数值 |
|
NUMERIC(M, D) |
M/D最大 值+2 |
和DECIMAL一样 |
注意:尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。
数据类型 | 大小 | 说明 | |
VARCHAR (SIZE) | 0-65,535字节 | 可变长度字符串 | |
TEXT | 0-65,535字节 | 长文本数据 | |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | |
BLOB | 0-65,535字节 | 二进制形式的长文本数据 |
数据类型 | 大小 | 说明 | |
DATETIME | 8 字 节 | 范围从1000到9999年,不会进行时区的 检索及转换。 |
|
TIMESTAMP | 4 字 节 | 范围从1970到2038年,自动检索当前时 区并进行转换。 |
注意:TIMESTAMP关键字到2038年就会过期,因此,在开发的时候,最好使用DATETIME关键字!!!
需要操作数据库中的表时,需要先使用该数据库,命令是(use 数据库名;)。
语法格式:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
table_name是创建表的名字,下方的fileld字眼是创建的标题名,datatype是这一行数据的数据类型。
示例:
create table stu(
id int,
name varchar(20),
age int,
sex varchar(5)
);
可以看出,在输入命名时,只要没输入分号(;)客户端就不认为命令结束。这条命灵有一点也要注意,就是输到sex这一行的时候,无需再需要逗号(在这绊倒几次)。
这其中有一个类型varchar(),这个类型当我,括号里面的数是能存放几个字符的意思,不是存放多个个字节的意思!!!
语法格式:
desc 表名;
示例:
语法格式:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name]
示例:
-- 删除 stu_test 表
drop table stu_test;
-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;
注意:在开发当我删除表的操作和删除库的操作是一样危险滴!!
-- 显示
show databases;
-- 创建
create database xxx;
-- 使用
use xxx;
-- 删除
drop database xxx;
INT:整型
DECIMAL(M, D):浮点数类型M:有几个数字,D:小数点后面有几位,如:3.14 M是3,D是2
VARCHAR(SIZE):字符串类型SZIE是指有能容纳的字符个数
TIMESTAMP:日期类型
-- 查看
show 表;
-- 创建
create table 表名(
字段1 类型1,
字段2 类型2,
...
);
-- 删除
drop talbe 表名;