作者汤海京
第十二章 MySQL
简 介
MySQL是一个真正的多用户多线程SQL数据库服务器SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言MySQL是以一个客户机/服务器结构的实现它由一个服务器守护程序mysqld和很多不同的客户程序和库组成
SQL是一种标准化的语言它使得存储更新和存取信息更容易例如你能用SQL语言为一个网站检索产品信息及存储顾客信息同时MySQL也足够快和灵活以允许你存储记录文件和图像
MySQL 主要目标是快速健壮和易用最初是因为我们需要这样一个SQL服务器它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库但速度更快MySQL就开发出来自年以来我们一直都在使用MySQL其环境有超过 个数据库包含 个表其中多个表超过百万行这大约有 个吉字节(GB)的关键应用数据
MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程尽管MySQL仍在开发中但它已经提供一个丰富和极其有用的功能集
MySQL的官方发音是My Ess Que Ell(不是 MYSEQUEL )
第一节 MySQL的安装
. 所需资源
MySQLirpm
MySQLclientirpm
. 安装方法
第一步rpm ivh MySQLirpm
第二步rpm ivh MySQLirpm
第三步执行mysql启动MySQL monitor就可以使用mysql数据库了
第二节 MySQL的使用
. 启动MySQL守护进程
/etc/rcd/initd/mysql start
. 关闭MySQL守护进程
/etc/rcd/initd/mysql stop
. 检查MySQL服务器是否已经运行
.. 检查MySQL的属性
/usr/bin/mysqladmin variables
.. 检查MySQL的版本信息
/usr/bin/mysqladmin version
.. 检查MySQL的运行状态
/usr/bin/mysqladmin status
.. 检查MySQL服务器此时正运行的线程信息
/usr/bin/mysqladmin processlist
. 连接和断开服务器
.. 连接服务器
mysql h host u user p
#要求输入口令
.. 断开服务器
quit
#进入MySQL之后可以敲help来获取帮助信息
. MySQL存取权限的控制
MySQL的存取控制技术功能强大比Postgres更加具有灵活性MySQL采用的用户名和密码的加密算法与Unix系统不尽相同其用户名可以长达个字符
先以root登陆MySQl然后在MySQL的提示符下键入grant all privileges on ** to thj@localhost identified by thj with grant option; 这样无论用户thj从什么地方登陆到这台服务器都可以使用MySQL
第三节 MySQL数据库的简单操作语句
. 对数据库的操作
MySQL的数据库实际上对应的是一个目录它被系统存储在/var/lib/mysql 中
.. 创建数据库
命令create database 数据库名
.. 删除数据库
命令drop database 数据库名
.. 查询MySQL中都有什么数据库
命令show databases;
.. 更改当前使用的数据库
命令use tbl_name
. 对数据表的操作
MySQL中的TABLE才是真正的数据库
.. 创建数据表
命令create table tbl_name ( column_specs );
说明tbl_name 数据表名 column_specs 表中列的说明
..查询指定的数据表的结构
命令describe tbl_name;
.. 查询数据库中都有什么数据表
命令show tables;
. 对数据记录的操作
.. 增加新记录
命令insert into tbl_name (col_namecol_name…) values(valuesvalues…)
说明insert语句简单易用但是它也有一个缺陷就是每次只能插入一条记录
.. 批量装载数据
命令load data local infile filenametxt into table tbl_name;
说明MySQl的版本不得低于否则load data local不起作用该语句实际上是调用了/usr/bin/mysqlimport
.. 检索信息
命令select 要选择的东西 from 一个或多个表 where 数据必须满足的条件
注在MySQL中每键入一条命令之后在命令行的结尾都要敲入标志是一条命令或者敲回车之后再敲go提示系统执行上边的命令另外在多数关于MySQL的参考书中命令都为大写实际上小写也可以还有use语句可以不加这是所有MySQL语言中唯一一个不需要加就可以执行的语句