undefined

初识数据库

关系型数据库存在磁盘中,而非关系型数据库存在内存中。

关系数据结构:指的是数据是以什么方式来存储,是一种二维表的形式存储

本质就是二维表

关系操作集合:如何来关联和管理对应的存储数据,SQL指令

关系完整性约束:数据内部有对应的关联关系,以及数据与数据之间也有对应的关联关系。

    表内约束:对应的具体列只能放对应的数据(不能乱放)

    表间约束:自然界各实体都有有着对应的关联关系(外键)

小型关系型数据库:Microsoft Access,SQLite

中型关系型数据库:SQL Server,MySQL

大型关系型数据库:Oracle,DB2

结构化查询语言,简称SQL,是一种特殊目的的编程语言。SQL就是专门为关系型数据库而设计的

数据查询语言(DQL):专门用于查询数据,代表指令:select、show

数据操作语言(DML):专门用于写数据,代表指令:insert、update、delete

事务处理语言(TPL):专门用于事务安全处理:transaction

数据控制语言(DCL):专门用于权限管理:grant、revoke

数据定义语言(DDL):专门用于结构管理:create、drop(alter)

MySQL是一个关系型数据库系统

MySQL是一种开源免费的数据库产品

MySQL是对PHP的支持是最好的

MySQL中用到的操作指令就是SQL指令

启动和停止MySQL服务

 MySQL是一种c/s结构:客户端和服务端

服务端对应的软件:Mysqld.exe

命令行方式

    通过windows下打开cmd服务器,然后使用命令进行管理

Net start mysql服务(mysql):开启服务

Net stop mysql:关闭服务

系统服务方式

前提:在安装mysql的时候讲mysql添加到windows的服务中去了

通过命令行:services.msc  寻找MySQL的服务。

登录和退出MySQL系统

通过客户端(mysql.exe)与服务器进行连接认证,就可以进行操作。

通常:服务端和客户端不在同一台电脑上

登录

1、找到mysql.exe(通过cmd控制台:如果在安装的时候指定类mysql.exe所在的路劲为环境变量,就可以直接访问,如果没有,那么就必须进入到mysql.exe所在路径)

2、输入对应的服务器地址:-h:host -h【ip地址、域名】

3、输入服务器中MySQL监听的端口:-P :port  -P 3306

4、输入用户名:-u:username -u:root

5、输入密码:-p :password -p:root

连接认证基本语法: Mysql.exe/mysql -h 主机地址 -P端口 -u用户名 -p密码

mysql -hlocalhost -P3306 -uroot -proot

注意事项:

1、通常端口都可以默认:mysql监听的端口通常是3306   

2、密码的输入可以先输入-p,直接换行,然后再以密文方式输入密码

退出:断开与服务器的连接:通常mysql提供的服务数量有限,一旦客户端用完,建议就应该断开连接。

建议方式:使用SQL提供的指令

Exit;   //exit待分号

\q;  //quit缩写

quit; 

MySQL服务端架构

MySQL服务端架构有以下几层构成;

1、数据库管理系统(最外层):DBMS,专门管理服务器端的所有内容

2、数据库(第二层):DB,专门用于存储数据的仓库(可以有很多个)

3、二维数据表(第三层:table),专门用于存储具体实体的数据

4、字段(第四层):Field,具体存储某种类型的数据(实际存储单位)

数据库中常用的几个关键字

row :行   column:列(field)

创建数据库

 基本语法:create database 数据库名字【库选项】 create database mydatabase; 

库选项:数据库的相关属性   

字符集:charset字符集,代表着当前数据库下的所有表存储的数据默认指定的字符集  create database 数据库名字 charset 字符集名称(gdk);

 校对集:collate校对集,

我们创建的数据库:其实每个数据库文件下都有一个opt文件,数据库没有指定字符集,那么就会使用DBMS默认的字符集(安装时指定),校对集随字符集。

查看全部

基本语法:show databases;

系统库:

information_schema:保存数据库中所有的结构信息(表、库)

mysql:核心数据库:权限关系

performance_schema:效率库

test:测试:空库

显示部分库:

show databases like’匹配模式’;

_: 匹配当前位置单个字符

%:匹配指定位置多个字符

获取my开头的全部数据库:‘my%’;

获取m开头,后面第一个字母不确定,最后为database的数据库;‘m_database’;

获取database结尾的数据库:‘%database’

显示数据库创建语句 show create database 数据库名字 (看到的指令并非是我们自己敲的,因为系统已经为我们改造了)

为什么要选择数据库?因为数据是存储在数据表中,表存在数据库下。如果要操作数据,那么就必须要进入到对应的数据库才行。

基本语法:use 数据库名字

会出现 database changed :表明已经进行了当前数据库环境

修改数据库:修改数据库字符集(库选项):字符集和校对集

alter database 数据库名字 charset = 字符集;

是否可以修改数据库名字?mysql 5.5之前是可以修改的,但是5.5之后是不行的。

一旦修改成功,对应的opt文件就会体现。

删除数据库

drop database 数据库名字;

删除虽然简单,但是切记要做好安全操作,确保里面数据没有问题

删除文件后,对应的存储数据的文件也会被删除(opt文件)。

创建数据表

普通创建表

create table 表名(字段名 字段类型【字段属性】,字段名 字段类型【字段属性】, … 表选项)

表必须要放在对应的数据库下:有两种方式可以将表挂入到指定的数据库下。1、在数据库名字前面加上数据库名字,用 . 连接

2、在创建数据表之前进入一个数据库

表选项:与数据库选项类似

Engine:存储引擎    mysql 提供的具体存储数据的方式

charset:字符集,只对当前自己表有效