MySQL与其他的大型数据库例如Oracle,DB2,SQL Server等相比,自有它的不足之处,如规模小,功能有限,但是丝毫没有影响它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。LAMP和LNMP中的其他三个软件也都是免费的,所以我们可以不花一分钱就可以建立起一个稳定,免费的网站系统。
在同一个MySQL数据库服务器中可以创建多个数据库,如果把每个数据库看成是一个“仓库”,则网站中的内容数据就存储在这个仓库中,而对数据库中数据的存取及维护等,都是通过数据库系统软件管理的。同一个数据库管理系统可以为不同的网站分别建立数据库,但为了使网站中的数据便于维护,备份及移植,最好为一个网站创建一个数据库。
MySQL数据库管理系统是一种“客户机/服务器”体系结构的管理软件,所以必须同时使用数据库服务器和客户机两个程序才能使用MySQL。服务器程序用于监听客户机的请求,并根据这些请求访问数据库,以便向客户机提供它们所要求的数据。而客户机程序则必须通过网络连接到数据库服务器,才能向服务器提交数据操作请求。PHP脚本程序作为MySQL服务器的客户机程序,是通过PHP中的MySQL扩展函数,对MySQL服务器中存储的数据进行获取,插入,更新及删除等操作。
无论是Oracle,Sybase,Informix,SQL Server这些大型的数据库管理系统,还是像Visual Foxpro,PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。
SQL语言包含四个部分: 数据定义语言(DDL):用于定义和管理数据对象,包括数据库,数据表等。例如:CREATE,DROP,ALTER等。
数据操作语言(DML):用于操作数据库对象中所包含的数据。例如:INSERT,UPDATE,DELETE语句。
数据查询语言(DQL):用于查询数据库对象中所包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回客户机中显示。例如:SELETE。
数据控制语言(DCL):是用来管理数据库的语言,包括管理权限及数据更改。例如:GRANT,REVOKE,COMMIT,ROLLBACK等。
接下来说一下Mysql中的简单命令:
MySQL数据库的连接与关闭:
mysql –h 服务器主机地址 –u 用户名 –p 用户密码
只有客户机所在的主机被授予权限才能去连接MySQL服务器。
注意:
1.每个SQL命令都需要使用分号来完成
2.可以将一行命令拆成多行
3.可以通过c来取消本行命令
4.可以通过q、exit、ctrl+c或者quit来退出当前客户端
Mysql中的快捷键
我们可以使用help命令来查询快捷键:
将查询后的数据立起来:G
取消当前未完成的操作:c
退出当前客户端:q
显示当前服务器状态:s
显示帮助信息:h(同help命令)
更改执行符:d
数据库操作:
建立数据库命令: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”