MySQL 教程(一)

1、介绍

Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
相关数据表明mysql是世界上最流行、使用者最多的数据库语言

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,
每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database

RDBMS 术语

在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:

数据库: 数据库是一些关联表的集合。.
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据,冗余可以使系统速度更快。
主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键:外键用于关联两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

Mysql数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

Mysql是开源的,所以你不需要支付额外的费用。
Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
MySQL使用标准的SQL数据语言形式。
Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。
MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统(大神)。

2、使用

MySQL PHP 语法

MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP。 在这些语言中,Mysql在PHP的web开发中是应用最广泛。
PHP提供了多种方式来访问和操作Mysql数据库记录。PHP Mysql函数格式如下:

mysql_function(value,value,...);

以上格式中 function部分描述了mysql函数的功能,如

mysqli_connect($connect);
mysqli_query($connect,"SQL statement");
mysql_fetch_array()
mysql_connect(),mysql_close()

以下实例展示了PHP调用mysql函数的语法:



PHP with MySQL





MySQL 连接

使用mysql二进制方式连接
您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。
实例
以下是从命令行中连接mysql服务器的简单实例:

[root@host]# mysql -u root -p
Enter password:******

在登录成功后会出现 mysql> 命令提示窗口,你可以在上面执行任何 SQL 语句。
以上命令执行后,登录成功输出结果如下:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2854760 to server version: 5.0.9
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

在以上实例中,我们使用了root用户登录到mysql服务器,当然你也可以使用其他mysql用户登录。

如果用户权限足够,任何用户都可以在mysql的命令提示窗口中进行SQL操作。

退出 mysql> 命令提示窗口可以使用 exit 命令,如下所示:

mysql> exit
Bye

使用 PHP 脚本连接 MySQL

PHP 提供了 mysql_connect() 函数来连接数据库。
该函数有5个参数,在成功链接到MySQL后返回连接标识,失败返回 FALSE 。
语法

connection mysql_connect(server,user,passwd,new_link,client_flag);

参数说明:
server
可选。规定要连接的服务器。
可以包括端口号,例如 “hostname:port”,或者到本地套接字的路径,例如对于 localhost 的 “:/path/to/socket”。
如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 ‘localhost:3306’。

user
可选。用户名。默认值是服务器进程所有者的用户名。

passwd
可选。密码。默认值是空密码。

new_link
可选。如果用同样的参数第二次调用 mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。参数 new_link 改变此行为并使 mysql_connect() 总是打开新的连接,甚至当 mysql_connect() 曾在前面被用同样的参数调用过。

client_flag
可选。client_flags 参数可以是以下常量的组合:
MYSQL_CLIENT_SSL - 使用 SSL 加密
MYSQL_CLIENT_COMPRESS - 使用压缩协议
MYSQL_CLIENT_IGNORE_SPACE - 允许函数名后的间隔
MYSQL_CLIENT_INTERACTIVE - 允许关闭连接之前的交互超时非活动时间

你可以使用PHP的 mysql_close() 函数来断开与MySQL数据库的链接。
该函数只有一个参数为mysql_connect()函数创建连接成功后返回的 MySQL 连接标识符。
语法

bool mysql_close ( resource $link_identifier );

本函数关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。如果没有指定 link_identifier,则关闭上一个打开的连接。
提示:通常不需要使用 mysql_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。
注释:mysql_close() 不会关闭由 mysql_pconnect() 建立的持久连接。
实例
你可以尝试以下实例来连接到你的 MySQL 服务器:



Connecting MySQL Server




 

MySQL 创建数据库(linux操作系统)

使用 mysqladmin 创建数据库
使用普通用户,你可能需要特定的权限来创建或者删除 MySQL 数据库。
所以我们这边使用root用户登录,root用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库。
实例
以下命令简单的演示了创建数据库的过程,数据名为 TUTORIALS:

[root@host]# mysqladmin -u root -p create TUTORIALS
Enter password:******

以上命令执行成功后会创建 MySQL 数据库 TUTORIALS。

使用 PHP脚本 创建数据库

PHP使用 mysql_query 函数来创建或者删除 MySQL 数据库。
该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。
语法

bool mysql_query( sql, connection );

复制
参数 描述
sql 必需。规定要发送的 SQL 查询。注释:查询字符串不应以分号结束。
connection 可选。规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。
实例
以下实例演示了使用PHP来创建一个数据库:



Creating MySQL Database


';
$sql = 'CREATE DATABASE TUTORIALS';
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not create database: ' . mysql_error());
}
echo "Database TUTORIALS created successfully\n";
mysql_close($conn);
?>


MySQL 删除数据库

使用 mysqladmin 删除数据库
使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库。
所以我们这边使用root用户登录,root用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库。
在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。
以下实例删除数据库TUTORIALS(该数据库在前一章节已创建):

[root@host]# mysqladmin -u root -p drop TUTORIALS
Enter password:******

执行以上删除数据库命令后,会出现一个提示框,来确认是否真的删除数据库:

Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
 
Do you really want to drop the 'TUTORIALS' database [y/N] y
Database "TUTORIALS" dropped 

使用PHP脚本删除数据库

PHP使用 mysql_query 函数来创建或者删除 MySQL 数据库。
该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。
语法

bool mysql_query( sql, connection );

参数 描述
sql 必需。规定要发送的 SQL 查询。注释:查询字符串不应以分号结束。
connection 可选。规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。
实例
以下实例演示了使用PHP mysql_query函数来删除数据库:



Deleting MySQL Database


';
$sql = 'DROP DATABASE TUTORIALS';
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('删除数据库失败: ' . mysql_error());
}
echo "数据库 TUTORIALS 删除成功\n";
mysql_close($conn);
?>


注意: 在使用PHP脚本删除数据库时,不会出现确认是否删除信息,会直接删除指定数据库,所以你在删除数据库时要特别小心。

MySQL 选择数据库

在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。
从命令提示窗口中选择MySQL数据库
在 mysql> 提示窗口中可以很简单的选择特定的数据库。你可以使用SQL命令来选择指定的数据库。
实例
以下实例选取了数据库 TUTORIALS:

[root@host]# mysql -u root -p
Enter password:******
mysql> use TUTORIALS;
Database changed
mysql>

执行以上命令后,你就已经成功选择了 TUTORIALS 数据库,在后续的操作中都会在 TUTORIALS 数据库中执行。
注意:所有的数据库名,表名,表字段都是区分大小写的。所以你在使用SQL命令时需要输入正确的名称。

使用PHP脚本选择MySQL数据库

PHP 提供了函数 mysql_select_db 来选取一个数据库。函数在执行成功后返回 TRUE ,否则返回 FALSE 。
语法

bool mysql_select_db( db_name, connection );

参数 描述
db_name 必需。规定要选择的数据库。
connection 可选。规定 MySQL 连接。如果未指定,则使用上一个连接。
实例
以下实例展示了如何使用 mysql_select_db 函数来选取一个数据库:



Selecting MySQL Database




  

你可能感兴趣的:(MYSQL)