数据库:能更有效的管理数据,数据库可以提供远程服务,也就是说可以通过远程连接来使用数据库,因此也称为数据库服务器。
我们所说的数据库,整体是分为两个部分的,一个是客户端,一个是服务器。客服端就是我们敲命令的那个窗口,或者是一个图形化界面这样的程序,就是客户端。它只是起到一个作用,就是将我们输入的命令发送给服务器,并且接收服务器返回的数据。服务器,就是接收由客户端发送过来的命令,并对这些命令做出相应的操作。
我们在平时学习中,安装的MySQL数据库,其实就是同时安装了客户端和服务器两个部分的。客户端通过网络可以连接到服务器。
顺便提及:
客户端向服务器发送数据,称为请求(request)。
服务器向客服端发送数据,称为响应(response)。
数据库存储的介质:
数据库的分类
整体上,数据库分为两种:关系型数据库和非关系型数据库。
关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。说人话就是:关系模型指的是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL语句,有如下几种关系型数据库:
1、Oracle:甲骨文产品,适用于大型项目,适合于做复杂的业务逻辑。这款产品是收费的。
2、MySQL:现在属于是甲骨文公司的,不适合做复杂的业务逻辑。这款产品是开源免费的。
3、SQL server:微软的产品,安装部署在Windows server上,适用于中大型项目。收费。
非关系型数据库:
不规定基于SQL实现。现在更多值得是NoSQL型数据库,如:
1、基于键值对的Redis、memcached等
2、基于文档型的MongoDB
3、基于列族的HBASE
4、基于图型的Neo4j
注:SQL指的是一种编程语言,而MYSQL指的是一个数据库软件。
SQL分类:
DDL数据定义语言,用来维护存储数据的结构
代表指令:create 、drop、alter
DML数据操作语言,用来对数据进行操作
代表指令:insert、delete、update
DML中又单独分了一个DQL,数据查询语言,代表指令:select
DCL数据控制语言,主要负责权限管理和事务
代表指令:grant、revoke、commit
SQL既然是一种编程语言,那么自然少不了相应的数据类型,有以下常用数据类型,跟C/Java等编程语言中的数据类型,差不多,只是有稍稍的改动。
注:SQL语句,是不区分大小写的,也就是说写的所有SQL语句,大写或小写都是无所谓的,都能够被识别出来。
bit(),类似于位图,括号里给的是大小,单位是bit。
tinyint、smallint、int、bigint,都是整形。所占空间大小分别是1、2、4、8字节。
float、double,浮点数类型。括号里的M、D分别是有效位数和小数点后几位数。(计算机内部存储的小数,有很多都是存储的一个近似值,这两个浮点数类型无法将一些小数表示的非常精确。具体的,请查找小数在内存中的存储形式)
decimal和numeric也是浮点数类型,只不过这两个类型,能够精确的表示小数点后的每一位。对比float和double,更精确。
字符串类型:varchar(大小),text、mediumtext都能够表示字符串;而blob是能够表示二进制形式的字符串,用的比较少。
日期类型:更推荐使用datetime,时间范围更广。而timestamp是采用时间戳的形式,会根据你所在的时区,自动转换成本地的时间。
以上就是SQL语句的逻辑运算符,大小与这些还是比较好理解,重点需要注意以下几个:
在讲解基本操作之前,我们要捋清楚几个概念!!!
我们一般说的数据库,就是MySQL数据库这样的软件,但是在逻辑层面上也有数据库的概念,有如下图片:
如上图,红色框指的是MySQL数据库的服务器,这个服务器里面有三个小的数据库,比如:学生模块数据库,这个学生模块数据库,就是专门来存储关于学生的一切数据,这样的逻辑概念也称为一个数据库。
而这个逻辑数据库里面还有一些表,比如:学生信息表,这样的一张表就类似于我们平时所看见的Excel表格一样,这个表有很多行,也有很多列。
捋清楚了这样一个逻辑层面的数据库,接下来就是对于这样一个逻辑层面的数据库,有以下这些操作:
show databases;
显示当前服务器中,有哪些数据库。
drop database [if exists] 数据库名;
drop,删除服务器里面的一个数据库,切记需要指定数据库名字。【】里面的语句可以不写,如果没有这个数据库名字,此时不写的话,就会报错的。(在写的时候,只写if exists,不需要写【】)
create database [if not exists]数据库名;
create,在服务器里新建一个数据库。【】里面的语句可以不写,只是为了防止有重名的数据库。更规范一点的话,就是需要写的。
use 数据库名;
use,就是选中一个数据库。就类似于生活中,拿起一个文件夹,文件夹里有很多的表。
切记,每一条SQL语句后面都需要有一个分号!!!
切记,每一条SQL语句后面都需要有一个分号!!!
切记,每一条SQL语句后面都需要有一个分号!!!
这里的表,指的就是上文中的“学生信息表”,这样的表格。必须调用SQL语句use 数据库名,才可以调用以下的操作。
create table [if not exists] 表名 (列名 数据类型,列名 数据类型……);
create table,新建一个表,表名后面紧接着就是列,有几列,就写几个列名,且每一列都有相应的数据类型。
drop table [if exists] 表名;
drop table,删除一个表。
show tables;
查看当前数据库有哪些表。
desc 表名;
desc就是英文单词describe的缩写,表示查看当前这张表的结构。也就是查看这张表有哪些列,每一列的数据类型,以及一些其他的属性。
alter关键字的一些使用:
alter table 表名 add column 列名 数据类型;
在已经存在的表中,新增一列。
alter table 表名 drop column 列名;
删除表中的某一列。
alter table 表名 change column 旧列名 新列名 新数据类型;
change,可以修改表中某一列的列名和数据类型。
alter table 表名 modify column 列名 新数据类型;
modify,可以修改表中某一列的数据类型。不能修改列名,注意与change区分。
以上全部就是本期的全部内容啦!!!都是一些基本的操作,在命令行窗口多敲几遍,就熟练啦。好啊,我们下期再见吧!!!拜拜!!!