安装过程记录:mysql
数据库:databaselinux
数据库系统:DBS(Database System):是一种虚拟系统,见多种内容关联起来的称呼sql
DBS = DBMS+DB数据库
DBMS:Database Management System,数据库管理系统,专门管理数据库windows
DBA:Database Administrator,数据库管理员centos
行/记录:row/record,本质是一个东西:都是指表中的一行(一条记录):行是从结构角度出发,记录是从数据角度出发。服务器
列/字段:column/field,本质是一个东西并发
SQLui
SQL:Structured Query Language,结构化查询语言(数据以查询为主:99%是在进行查询操做)编码
SQL分为三部分
DDL:Data Definition Language,数据定义语言,用来维护存储数据的结构(数据库,表),表明指令:create,drop,alter等
DML:Data Manipulation Language,数据操做语言,用来对数据进行操做(数据表中的内容),表明指令:insert,delete,update等:其中DML内部又单独进行了一个分类:DQL(Data Query Language:数据查询语言,如select)
DCL:Data Control Language,数据控制语言,主要是负责权限管理(用户),表明指令:grant,revoke等
SQL是关系型数据库的操做指令,SQL是一种约束,但不强制(相似W3C):不一样的数据库产品(如Oracle,mysql)可能内部会有一些细微的区别。
MySQL数据库是一种c/s结构的软件:客户端。服务端若想访问服务器必须经过客户端(服务器一直运行,客户端都在须要使用时运行)。
一、客户单链接认证:链接服务器,认证身份:mysql.exe-hPup
windows操做:mysql.exe -hlocalhost -P3306 -uroot -p
linux操做:
二、客户端发送SQL指令
三、服务器接收SQL指令:处理SQL指令:返回操做结果
四、客户端接收结果:显示结果
windows操做:show databases
linux操做:
五、断开链接(释放资源:服务器并发限制):exit/quit/\q
服务器是C语言编译好的结果,没法进行反编译,因此,没法彻底了解服务器内部的内容:只能粗略的去分析数据库服务器的内部结构。
将mysql服务器内部对象分红了四层:系统(DBMS)->数据库(DB)->数据表(Table)->字段(field)
将SQL的基本操做根据操做对象进行分类,分为三类:库操做,表操做(字段),数据操做
对数据库的增删改查。
基本语法
Create database 数据库名字 [库选项];
库选项:用来约束数据库,分为两个选项
字符集设定:charset/character set 具体字符集(数据存储的编码格式):经常使用字符集:GBK和UTF8
校对集设定:collate 具体校对集(数据比较的规则)
"""
mysql> -- 双中下划线+空格:注释(单行注释),也可使用#号
mysql> -- 建立数据库
mysql> create database mydatabase charset utf8;
Query OK, 1 row affected(0.01 sec)
"""
其中:数据库名字不能用关键字(已经被使用的字符)或者保留字(未来可能会用到的)
若是非要使用关键字或者保留字,那么必须使用反引号(esc键下面的键在英文状态下的输出:`)
中文数据库是能够的,可是有前提条件:保证服务器可以识别(不建议使用)
解决方案:
mysql> set names gbk
mysql> create database 中国 charset utf8;
1. 在数据库系统中,增长了对应的数据库信息
2.会在保存数据的文件夹下:Data目录,建立一个对应数据库名字的文件夹(中文名称的数据库名称显示并非中文,是特殊的编码)
3.每一个数据库下都有一个opt文件:保存了库选项