美文网首页
12.数据库之MySQL(概述)

12.数据库之MySQL(概述)

作者: dptms | 来源:发表于2017-02-16 16:13 被阅读439次

    数据库应用

    数据库是计算机应用系统中的一种专门管理数据资源的系统。数据库就是一组经过计算机整理后的数据,存储在一个或者多个文件中,而管理这个数据库的软件就称为数据库管理系统。

    主流的软件开发中应用数据库有IBM的DB2,Oracle,Informix,Sybase,SQL Server,PostgreSQL,MySQL,Access,FoxPro和Teradata等。

    数据库在Web开发中的重要地位

    动态网站都是对数据进行操作,我们平时浏览网页时,会发现网页的内容会经常变化,而页面的主体结构框架没变,Web系统的开发基本上都离不开数据库,因为任何东西都要存放在数据库中。

    所谓的动态网站就是基于数据库开发的系统,最重要的就是数据管理,或者说我们在开发时都是在围绕数据库在写程序。我们再来回顾下Web工作原理:

    Web工作原理

    为什么PHP会选择MySQL作为自己的黄金搭档

    PHP几乎可以使用现有的所有的数据库系统,MySQL与其他的大型数据库例如Oracle,DB2,SQL Server等相比,自有它的不足之处,如规模小,功能有限,但是丝毫没有影响它受欢迎的程度。

    对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

    LAMP和LNMP中的其他三个软件也都是免费的,所以我们可以不花一分钱就可以建立起一个稳定,免费的网站系统。

    PHP和MySQL的合作方式

    在同一个MySQL数据库服务器中可以创建多个数据库,如果把每个数据库看成是一个“仓库”,则网站中的内容数据就存储在这个仓库中,而对数据库中数据的存取及维护等,都是通过数据库系统软件管理的。

    同一个数据库管理系统可以为不同的网站分别建立数据库,但为了使网站中的数据便于维护,备份及移植,最好为一个网站创建一个数据库。

    MySQL数据库管理系统是一种“客户机/服务器”体系结构的管理软件,所以必须同时使用数据库服务器和客户机两个程序才能使用MySQL。

    服务器程序用于监听客户机的请求,并根据这些请求访问数据库,以便向客户机提供它们所要求的数据。而客户机程序则必须通过网络连接到数据库服务器,才能向服务器提交数据操作请求。

    PHP脚本程序作为MySQL服务器的客户机程序,是通过PHP中的MySQL扩展函数,对MySQL服务器中存储的数据进行获取,插入,更新及删除等操作。

    结构化查询语言SQL

    对数据库服务器中数据的管理,必须使用客户机程序成功连接以后,再通过必要的操作指令对其进行操作,这种数据库操作指令被称为SQL(Structured Query Language)语言,即结构化查询语言。

    MySQL支持SQL作为自己的数据库语言,SQL是一种专门用于查询和修改数据库里的数据,以及对数据库进行管理和维护的标准化语言。

    SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年退出以来,SQL语言得到了广泛的应用。

    无论是Oracle,Sybase,Informix,SQL Server这些大型的数据库管理系统,还是像Visual Foxpro,PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。

    SQL语言包含四个部分:

    • 数据定义语言(DDL):用于定义和管理数据对象,包括数据库,数据表等。例如:CREATEDROPALTER等。

    • 数据操作语言(DML):用于操作数据库对象中所包含的数据。例如:INSERTUPDATEDELETE语句。

    • 数据查询语言(DQL):用于查询数据库对象中所包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回客户机中显示。例如:SELETE

    • 数据控制语言(DCL):是用来管理数据库的语言,包括管理权限及数据更改。例如:GRANTREVOKECOMMITROLLBACK等。

    MySQL数据库的连接与关闭

    mysql –h 服务器主机地址 –u 用户名 –p 用户密码
    

    只有客户机所在的主机被授予权限才能去连接MySQL服务器。

    注意:
    1.每个SQL命令都需要使用分号来完成
    2.可以将一行命令拆成多行
    3.可以通过\c来取消本行命令
    4.可以通过\q、exit、ctrl+c或者quit来退出当前客户端

    我们可以使用help命令来查询快捷键:

    将查询后的数据立起来:\G
    取消当前未完成的操作:\c
    退出当前客户端:\q
    显示当前服务器状态:\s
    显示帮助信息:\h(同help命令)
    更改执行符:\d

    创建新用户并授权

    GRANT 权限 ON 数据库.数据表 TO 用户名@登录主机 IDENTIFIED BY “密码”
    

    例如:
    添加一个新用户名为lijie,密码为字符串“jiege”。让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先要以root用户登录,然后输入以下命令:

    GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO lisi@”%” IDENTIFIED BY “123”
    

    创建数据库

    • 建立数据库:
       CREATE DATABASE [IF NOT EXISTS] 数据库名称;
    
    • 删除数据库:
       DROP DATABASE [IF EXISTS] 数据库名称;
    
    • 显示当前数据库服务器下的所有数据库列表:
       SHOW DATABASES;
    
    • 选择数据库:
       USE 数据库名称;
    

    注意:
    1.MySQL数据库中命令不区分大小写。
    2.每创建一个数据库,就会在data目录下创建一个以此数据库名称命名的文件夹。
    3.在Windows下,数据库名称也是不区分大小写的,但在Linux下,数据库名称严格区分大小写。

    创建数据表

    • 简单的创建数据表语法:
    CREATE TABLE [IF NOT EXISTS] 表名称(字段1信息,字段2信息…字段N信息)[ENGINE=MyISAM DEFAULT CHARSET=UTF8];
    
    • 删除数据表:
    DROP TABLE [IF EXISTS] 数据表名称;
    
    • 修改表结构:
    ALTER TABLE 数据表名称 相关操作;
    

    数据表内容的简单管理

    • 插入数据:
    INSERT INTO 表名称[(字段名称)] VALUE(前面字段对应的值);
    
    • 查询数据:
    SELECT 字段名称1,字段名称2,… FROM 表名称
    
    • 更改数据:
    UPDATE 数据表 set 字段名称=新修改的值 [WHERE 条件]
    
    • 删除数据:
    DELETE FROM 表名称 [WHERE 条件] 
    
    • 创建新用户并授权
    GRANT 权限 ON 数据库.数据表 TO 用户名@登录主机 IDENTIFIED BY “密码”
    

    例如:
    添加一个新用户名为lijie,密码为字符串“jiege”。让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先要以root用户登录,然后输入以下命令:

    GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO lisi@”%” IDENTIFIED BY “123”
    

    相关文章

      网友评论

          本文标题:12.数据库之MySQL(概述)

          本文链接:https://www.haomeiwen.com/subject/walhwttx.html