MySQL基础知识与MySQL数据库基础

文章目录

  • 一、数据库介绍
    • 1.什么是数据库
    • 2.数据库分类
    • 3.数据库的安装
    • 4.数据库的使用窗口
  • 二、数据库基础
    • 1.数据库的操作
      • 1.1 显示当前的数据库
      • 1.2 创建数据库
      • 1.3 使用数据库
      • 1.4删除数据库
    • 2.常用数据类型
      • 2.1 数值类型
      • 2.2 字符串类型
      • 2.3 日期类型
  • 三、表的操作
    • 1. 查看表结构
    • 2.创建表
    • 3.删除表
  • 四、总结

一、数据库介绍

1.什么是数据库

存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:

  • 文件的安全性问题
    文件不利于数据查询和管理
    文件不利于存储海量数据
    文件在程序中控制不方便

数据库存储介质:

  • 磁盘
  • 内存

为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器.

数据库是一个软件,它能够组织大量的数据(数据一般在磁盘上),因此要依赖于数据结构.

有人问:
数据多了会不会报表??
答案:当然会,因为数据都是存到磁盘上的,如果数据特别多,超出磁盘容纳的上限,此时就无法继续写入数据了。因此可以根据数据的重要情况,决定是定期清理还是定期备份。还可以使用分布式的方式,针对数据库进行 分库 分表,使用多台机器共同保存所有的数据集合。

2.数据库分类

数据库大体可以分为 关系型数据库 和 非关系型数据库.

  • 关系型数据库(RDBMS):
    数据的组织使用"表"作为结构,类似于Excel,首先要有个表头,表头中约定了很多列,以及每一列的类型,插入的数据就是表中的一行,这一行的每一列都需要和表头对应,对于数据的"约束"(对于数据合法性的校验)比较强.常用的关系型数据库如:
  1. Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费。
  2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
  3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
  • 非关系型数据库
    数值的组织形式使用"键值对"作为结构,类似于Map.存储的时候都需要指定key和value,每组数据的value中都要包含哪些字段没有明确要求.相比于关系型数据库,牺牲了一部分的功能,但是换来了更高的效率以及更强的水平扩展能力,更适用于分布式系统中,非关系型数据库有:
  1. 基于键值对(Key-Value):如 memcached、redis
  2. 基于文档型:如 mongodb
  3. 基于列族:如 hbase
  4. 基于图型:如 neo4j

3.数据库的安装

数据库详细安装教程
对于数据库的安装,要安装的有客户端以及服务器,当下载安装包后其实这两个都是已经下载好的.客户端在电脑的开始中找到MySql文件夹中有一个Unicode字符编码的客户端去使用.

4.数据库的使用窗口

数据库的使用可以在它的客户端中使用,也可以在cmd窗口中使用,若在cmd窗口中使用,则需要配置环境,在数据库详细安装教程中有方法.当然在数据库使用时要保证服务器当中的数据库是正在运行的.

二、数据库基础

1.数据库的操作

1.1 显示当前的数据库

注:databases是复数形式

show databases;

MySQL基础知识与MySQL数据库基础_第1张图片

1.2 创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, 
create_specification] ...]

create_specification:
 [DEFAULT] CHARACTER SET charset_name
 [DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字
  • [] 是可选项
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则

示例:
1.创建名为 test 的数据库

create databse test;

在这里插入图片描述
MySQL基础知识与MySQL数据库基础_第2张图片
可见,数据库test创建成功.

2.如果系统没有 test 的数据库,则创建一个名叫test的数据库,如果有则不创建.

create database if not exist test;

3.如果创建的数据库名字是数据库中的关键字,则可以在数据库名两边加"`"符号,例如:
在这里插入图片描述
MySQL基础知识与MySQL数据库基础_第3张图片

1.3 使用数据库

示例:

use 数据库名;

只有使用数据库,往后的操作都是对该数据库进行操作.

1.4删除数据库

语法:

drop databse test;

或者
drop database if exists test;

说明:
数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除

2.常用数据类型

说明:SQL语言中没有数组类型.

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

2.2 字符串类型

数据类型 大小 说明 对应java类型
VARCHAR (SIZE) 0-65,535字节 可变长度字符串 String
TEXT 0-65,535字节 长文本数据 String
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据 String
BLOB 0-65,535字节 二进制形式的长文本数据 byte[]

2.3 日期类型

数据类型 大小 说明 对应java类型
DATETIME 8字节 范围从1000到9999年,不会进行时区的检索及转换 java.util.Date、java.sql.Timestamp
TIMESTAMP 4字节 范围从1970到2038年,自动检索当前时区并进行转换。 java.util.Date、java.sql.Timestamp

三、表的操作

在表的操作前,首先要use 数据库.

use test;

1. 查看表结构

desc 表名;

MySQL基础知识与MySQL数据库基础_第4张图片

2.创建表

语法:

create table test(变量名、数据类型);

注意:括号里面的内容一定是先写变量名再写数据类型,如下图:
在这里插入图片描述
MySQL基础知识与MySQL数据库基础_第5张图片
可以使用comment增加字段说明.
示例:
MySQL基础知识与MySQL数据库基础_第6张图片
MySQL基础知识与MySQL数据库基础_第7张图片

3.删除表

语法:

drop table 表名;

示例:

-- 删除 test 表
drop table test;
-- 如果存在 test 表,则删除 test 表
drop table if exists test;

四、总结

MySQL基础知识与MySQL数据库基础_第8张图片

你可能感兴趣的:(MySQL,数据库,mysql,服务器)