• mysql学习之路_基础知识


                    Mysql

    php阶段将数据库分为三个阶

    基础阶段:

    mysql数据库的基本操作(增删改查),以及一些高级操作(视图,触发器,函数,存储过程等),PHP操作没有sql数据库。

    优化阶段:

    如何提高数据库效率,如索引,分表等。

    部署阶段:

    如何搭建真实的系统环境,如服务集群,负载均衡。

    数据库基础

    什么是数据库:

    数据库:database ,存储数据的仓库(高效的存储和处理数据库的介质如磁盘、内存)

    数据库分类:

    1,关系型数据库:(sql型)

    2,非关系型数据库(nomysql型)not only

    不同数据卡产品:

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

                  中型:SQLserverMysql

                  小型:access

    非关系型数据库:mencahedmoogodbredis2

    数据库的区别->两种阵营

    关系型database:安全(保存在磁盘,不会丢失),浪费空间。

    非关系型数据库:效率高(不够安全)

    关系型数据库:

    1,什么是关系型数据库:

    建立在关系模型上的数据库(数学模式)

    关系模型:建立在关系上的模型,三个方面。

    1,数据结构:数据存储问题,二维表的行列结构

    2,Sql指令集合:sql语句。

    3,完整性约束:表内数据约束,表与表之间的约束。

    2,关系型数据库的设计:

    关系型数据库:从需要存储的数据需求分析,如果是一类数据(实体)->设计成二维表->表头(字段名field)和数据部分(实际存储单元);

    二维表:行与列,

    例:

    表头

    字段1

    字段2

    字段3

    数据单元

    数据1

    数据2

    数据3

    实际案例:教师负责讲学,教学生,在教室。

    1,找出实体。教师表,学生表,教室表。

    2,找出实体数据信息: (教师)姓名,性别,年龄,工资

                        (学生)姓名,性别,年龄,学号

                      (班级)班级编号,教室号

    3,关系型数据库:维护实体内部、实体与实体之间的联系。

    1,实体内部的联系:每个学生都有姓名、性别、学科、学号。

                       学生表

    姓名

    性别

    学号

    学科

    班名

    张三

    001

    软件工程

    软件工程001

    小强

    001

    机械工程

    机械工程001

                       

    第二行所有字段:都是在描述张三这个学生(内部联系)第二列只能是性别(内部约束)。

    关系型数据库特点之一:如果表对应的某个字段没有值(数据),但是系统依然要分配存储空间;关系型数据库比较浪费空间。

    实体与实体之间的联系:每个学生肯定属于某个班级,每个班级肯定有多个学生。

    班名

    教室编号

    软件工程001

    001

    机械工程001

    002

                    

    班级实体与学生实体之间的联系:实体与实体之间的联系

    3,关键字说明:

    数据库:database

    数据库系统:DBS database system):虚拟系统,将多种内容关联起来的称呼

    DBS=DBMS+DB

    DBMS:database mangerment system数据库管理系统,专门管理数据库。

    DBAdatabase Administrator 数据库管理员。

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

    /字段 column/filed,本质是一个东西。

    SQL

    Structured Query language(结构化查询语言)数据库以查询为主,98%都是查询操作。

    SQL分为三个部分:

    DDLdata Definition Language 数据定义语言-->用来维护存储数据的结构(数据库,表)

    代表指令:create drop alter

    DMLdata manipulation Language 数据库操作语言-->用来对数据进行操作(数据表中的内容)

    代表指令:insert delete updata等其中DML内部又进行分类:DQLdatabase Query Language)数据查询语言,如select

    DCLdata contral Language 数据控制语言-->主要负责权限的管理(用户)

    代表指令:grant revoke等。

    SQL简介:

    Sql是关系型数据库的操作指令

    Sql是一种约束,但不强制(类似玩w3c组织)如Oraclemysql内部有细微的区别。

    Mysql

    Mysql数据库是一种c/s结构,客户端/服务端若想要访问服务器必须通过客户端(服务器一直运行,客户端在需要的时候运行),

    交互方式

    1,客户端连接认证:连接服务器认证身份

    2,发送sql指令

    3,服务器接受服务器指令,处理sql指令返回操作结果。

    4,客户端接受操作结果,显示结果。

    5,断开连接(释放资源,服务器并发限制)。

    Mysql服务器对象

    没有办法完全理解服务器内部的内容:

    只能粗略的分析数据库服务器内部结构

    mysql数据库分为四层:

    系统(DBMS)->数据库(BD)->数据表(table)->字段(filed

    SQL基本操作:

    基本操作:CRUD

    sql的基本操作根据对象分为三类

    1,库操作2,表操作3,数据操作

    库操作:

    数据库的增删改查。

    新增数据库:create database 库名 [库选项]

    库选项:约束数据库,分为两个选项。

    字符集的设定:charset /character set +具体字符集(数据存储的编码格式,一般两种格式GBKutf8

    校对集设定:collate +具体校对集(数据库比较规则)

    -- 双中下划线注释(单行注释,也可以用#

    其中数据库不能用关键字(已经被使用的字符或保留字(将来可能会用到))。

    学有所思,思有所成。
  • 相关阅读:
    hibernate反向生成奇葩错误
    使用axis2进行WebService的开发
    axis1.4 发布webservice的问题
    真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
    Hadoop启动报Error: JAVA_HOME is not set and could not be found解决办法
    ubuntu安装vsftpd
    cxf和axis2使用有感
    一个简单的AXIS远程调用Web Service示例
    Android 报错记录
    字符串匹配算法
  • 原文地址:https://www.cnblogs.com/lqh969696/p/9612649.html
Copyright © 2020-2023  润新知