您好,欢迎访问三七文档
MySQL教程Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。在本教程中,会让大家快速掌握Mysql的基本知识,并轻松使用Mysql数据库。什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。RDBMS即关系数据库管理系统(RelationalDatabaseManagementSystem)的特点:1.数据以表格的形式出现2.每行为各种记录名称3.每列为记录名称所对应的数据域4.许多的行和列组成一张表单5.若干的表单组成databaseRDBMS术语在我们开始学习MySQL数据库前,让我们先了解下RDBMS的一些术语:数据库:数据库是一些关联表的集合。.数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。列:一列(数据元素)包含了相同的数据,例如邮政编码的数据。行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。外键:外键用于关联两个表。复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。Mysql数据库MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于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系统。在开始学习本教程前你应该了解?在开始学习本教程前你应该了解PHP和HTML的基础知识,并能简单的应用。本教程的很多例子都跟PHP语言有关,我们的实例基本上是采用PHP语言来演示。如果你还不了解PHP,你可以通过本站的PHP教程来了解该语言。MySQL安装所有平台的Mysql下载地址为:MySQL下载.挑选你需要的MySQLCommunityServer版本及对应的平台。Linux/UNIX上安装MysqlLinux平台上推荐使用RPM包来安装Mysql,MySQLAB提供了以下RPM包的下载地址:MySQL-MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。MySQL-client-MySQL客户端程序,用于连接并操作Mysql服务器。MySQL-devel-库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。MySQL-shared-该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。MySQL-bench-MySQL数据库服务器的基准和性能测试工具。接下来我们在Centos系统下使用yum命令安装MySql:检测系统是否自带安装mysql:rpm-qa|grepmysql如果你系统有安装,那可以选择进行卸载:rpm-emysql//普通删除模式rpm-e--nodepsmysql//强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除安装mysql:yuminstallmysqlyuminstallmysql-serveryuminstallmysql-devel启动mysql:servicemysqldstart注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置。如果是CentOS7版本,由于MySQL数据库已从默认的程序列表中移除,可以使用mariadb代替:yuminstallmariadb-servermariadbmariadb数据库的相关命令是:systemctlstartmariadb#启动MariaDBsystemctlstopmariadb#停止MariaDBsystemctlrestartmariadb#重启MariaDBsystemctlenablemariadb#设置开机启动验证Mysql安装在成功安装Mysql后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证Mysql是否工作正常。使用mysqladmin工具来获取服务器状态:使用mysqladmin命令俩检查服务器的版本,在linux上该二进制文件位于/usr/binonlinux,在window上该二进制文件位于C:\mysql\bin。[root@host]#mysqladmin--versionlinux上该命令将输出以下结果,该结果基于你的系统信息:mysqladminVer8.23Distrib5.0.9-0,forredhat-linux-gnuoni386如果以上命令执行后未输入任何信息,说明你的Mysql未安装成功。使用MySQLClient(Mysql客户端)执行简单的SQL命令你可以在MySQLClient(Mysql客户端)使用mysql命令连接到Mysql服务器上,默认情况下Mysql服务器的密码为空,所以本实例不需要输入密码。命令如下:[root@host]#mysql以上命令执行后会输出mysql提示符,这说明你已经成功连接到Mysql服务器上,你可以在mysql提示符执行SQL命令:mysqlSHOWDATABASES;+----------+|Database|+----------+|mysql||test|+----------+2rowsinset(0.13sec)Mysql安装后需要做的Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:[root@host]#mysqladmin-urootpasswordnew_password;现在你可以通过以下命令来连接到Mysql服务器:[root@host]#mysql-uroot-pEnterpassword:*******注意:在输入密码时,密码是不会显示了,你正确输入即可。Window上安装MysqlWindow上安装Mysql相对来说会较为简单,你只需要载MySQL下载中下载window版本的mysql安装包,并解压安装包。双击setup.exe文件,接下来你只需要安装默认的配置点击next即可,默认情况下安装信息会在C:\mysql目录中。接下来你可以通过开始=》在搜索框中输入cmd命令=》在命令提示符上切换到C:\mysql\bin目录,并输入一下命令:mysqld.exe--console如果安装成功以上命令将输出一些mysql启动及InnoDB信息。MySQL管理启动及关闭MySQL服务器首先,我们需要通过以下命令来检查MySQL服务器是否启动:ps-ef|grepmysqld如果MySql已经启动,以上命令将输出mysql进程列表,如果mysql未启动,你可以使用以下命令来启动mysql服务器:root@host#cd/usr/bin./mysqld_safe&如果你想关闭目前运行的MySQL服务器,你可以执行以下命令:root@host#cd/usr/bin./mysqladmin-uroot-pshutdownEnterpassword:******MySQL用户设置如果你需要添加MySQL用户,你只需要在mysql数据库中的user表添加新用户即可。以下为添加用户的的实例,用户名为guest,密码为guest123,并授权用户可进行SELECT,INSERT和UPDATE操作权限:root@host#mysql-uroot-pEnterpassword:*******mysqlusemysql;DatabasechangedmysqlINSERTINTOuser(host,user,password,select_priv,insert_priv,update_priv)VALUES('localhost','guest',PASSWORD('guest123'),'Y','Y','Y');QueryOK,1rowaffected(0.20sec)mysqlFLUSHPRIVILEGES;QueryOK,1rowaffected(0.01sec)mysqlSELECThost,user,passwordFROMuserWHEREuser='guest';+-----------+---------+------------------+|host|user|password|+-----------+---------+------------------+|localhost|guest|6f8c114b58f2ce9e|+-----------+---------+------------------+1rowinset(0.00sec)在添加用户时,请注意使用MySQL提供的PASSWORD()函数来对密码进行加密。你可以在以上实例看到用户密码加密后为:6f8c114b58f2ce9e.注意:在MySQL5.7中user表的password已换成了authentication_string。注意:在注意需要执行FLUSHPRIVILEGES语句。这个命令执行后会重新载入授权表。如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为'Y'即可,用户权限列表如下:Select_privInsert_privUpdate_privDelete_privCreate_privDrop_privReload_privShutdown_privProcess_privFile_privGrant_privReferences_privIndex_privAlter_priv另外一种添加用户的方法为通过SQL的GRANT命令,你下命令会给指定数据库TUTORIALS添加用户zara,密码为zara123。root@host#mysql-uroot-ppassword;Enterpassword:*******mysqlusemysql;DatabasechangedmysqlGRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROP-ONTUTORIALS.*-TO'zara'@'localhost'-IDENTI
本文标题:MySQL菜鸟教程
链接地址:https://www.777doc.com/doc-3605039 .html