12.数据库之MySQL(概述)

数据库应用

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

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

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

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

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

12.数据库之MySQL(概述)_第1张图片
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(概述))