MySQL的学习记录

centos下MySQL下载地址: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar

安装过程记录:

 

关键字说明:

数据库:database

数据库系统:DBS(Database System):是一种虚拟系统,见多种内容关联起来的称呼

DBS = DBMS+DB

DBMS:Database Management System,数据库管理系统,专门管理数据库

DBA:Database Administrator,数据库管理员

行/记录:row/record,本质是一个东西:都是指表中的一行(一条记录):行是从结构角度出发,记录是从数据角度出发。

列/字段:column/field,本质是一个东西

 

SQL

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数据库

MySQL数据库是一种c/s结构的软件:客户端。服务端若想访问服务器必须通过客户端(服务器一直运行,客户端都在需要使用时运行)。

交互方式

    1、客户单连接认证:连接服务器,认证身份:mysql.exe-hPup

        windows操作:mysql.exe -hlocalhost -P3306 -uroot -p  

        linux操作:    

    2、客户端发送SQL指令

    3、服务器接收SQL指令:处理SQL指令:返回操作结果

    4、客户端接收结果:显示结果

       windows操作:show databases

       linux操作:

    5、断开连接(释放资源:服务器并发限制):exit/quit/\q  

MySQL服务器对象

服务器是C语言编译好的结果,无法进行反编译,所以,无法完全了解服务器内部的内容:只能粗略的去分析数据库服务器的内部结构。

将mysql服务器内部对象分成了四层:系统(DBMS)->数据库(DB)->数据表(Table)->字段(field)

SQL的基本操作

基本操作:CRUD(增删改查)

将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;

当创建数据库的SQL语句执行后,发生了什么?

1.  在数据库系统中,增加了对应的数据库信息

2.会在保存数据的文件夹下:Data目录,创建一个对应数据库名字的文件夹(中文名称的数据库名称显示并不是中文,是特殊的编码)

3.每个数据库下都有一个opt文件:保存了库选项

 

posted @ 2017-01-13 17:53  橡皮头  阅读(259)  评论(0编辑  收藏  举报