MySQL基础教程

+ 立即登录  + 快速注册
当前位置: 首 页 >  编程语言 > Mysql > 查看文章

MySQL基础教程

Mysql, 编程语言  你是第43个围观者  暂无评论 供稿者: Coder.Bing

>>点击上方攒人品,谢谢!我的未来需要你们!



MySQL 教程

MySQL基础教程_第1张图片Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。在本教程中,会让大家快速掌握Mysql的基本知识,并轻松使用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系统。

在开始学习本教程前你应该了解?

在开始学习本教程前你应该了解PHP和HTML的基础知识,并能简单的应用。

本教程的很多例子都跟PHP语言有关,我们的实例基本上是采用PHP语言来演示。

如果你还不了解PHP,你可以通过本站的PHP教程来了解该语言。

 

MySQL 安装

所有平台的Mysql下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台。

Linux/UNIX上安装Mysql

Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:

  • MySQL – MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
  • MySQL-client – MySQL 客户端程序,用于连接并操作Mysql服务器。
  • MySQL-devel – 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
  • MySQL-shared – 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
  • MySQL-bench – MySQL数据库服务器的基准和性能测试工具。

以下安装Mysql RMP的实例是在SuSE Linux系统上进行,当然该安装步骤也适合应用于其他支持RPM的Linux系统,如:Centos。

安装步骤如下:

使用root用户登陆你的Linux系统。

下载Mysql RPM包,下载地址为:MySQL 下载。

通过以下命令执行Mysql安装,rpm包为你下载的rpm包:

[root@host]# rpm -i MySQL-5.0.9-0.i386.rpm

以上安装mysql服务器的过程会创建mysql用户,并创建一个mysql配置文件my.cnf。

你可以在/usr/bin和/usr/sbin中找到所有与MySQL相关的二进制文件。所有数据表和数据库将在/var/lib/mysql目录中创建。

以下是一些mysql可选包的安装过程,你可以根据自己的需要来安装:

[root@host]# rpm -i MySQL-client-5.0.9-0.i386.rpm
[root@host]# rpm -i MySQL-devel-5.0.9-0.i386.rpm
[root@host]# rpm -i MySQL-shared-5.0.9-0.i386.rpm
[root@host]# rpm -i MySQL-bench-5.0.9-0.i386.rpm

Window上安装Mysql

Window上安装Mysql相对来说会较为简单,你只需要载 MySQL 下载中下载window版本的mysql安装包,并解压安装包。

双击 setup.exe 文件,接下来你只需要安装默认的配置点击”next”即可,默认情况下安装信息会在C:\mysql目录中。

接下来你可以通过”开始” =》在搜索框中输入 ” cmd” 命令 =》 在命令提示符上切换到 C:\mysql\bin 目录,并输入一下命令:

mysqld.exe --console

如果安装成功以上命令将输出一些mysql启动及InnoDB信息。


验证Mysql安装

在成功安装Mysql后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证Mysql是否工作正常。

使用 mysqladmin 工具来获取服务器状态:

使用 mysqladmin 命令俩检查服务器的版本,在linux上该二进制文件位于 /usr/bin on linux ,在window上该二进制文件位于C:\mysql\bin 。

[root@host]# mysqladmin --version

linux上该命令将输出以下结果,该结果基于你的系统信息:

mysqladmin  Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386

如果以上命令执行后未输入任何信息,说明你的Mysql未安装成功。


使用 MySQL Client(Mysql客户端) 执行简单的SQL命令

你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到Mysql服务器上,默认情况下Mysql服务器的密码为空,所以本实例不需要输入密码。

命令如下:

[root@host]# mysql

以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.13 sec)

Mysql安装后需要做的

Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:

[root@host]# mysqladmin -u root password "new_password";

现在你可以通过以下命令来连接到Mysql服务器:

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

注意:在输入密码时,密码是不会显示了,你正确输入即可。


Linux系统启动时启动 MySQL

如果你需要在Linux系统启动时启动 MySQL 服务器,你需要在 /etc/rc.local 文件中添加以下命令:

/etc/init.d/mysqld start

同样,你需要将 mysqld 二进制文件添加到 /etc/init.d/ 目录中。

 

MySQL 管理

启动及关闭 MySQL 服务器

首先,我们需要通过以下命令来检查MySQL服务器是否启动:

ps -ef | grep mysqld

如果MySql已经启动,以上命令将输出mysql进程列表, 如果mysql未启动,你可以使用以下命令来启动mysql服务器:

root@host# cd /usr/bin
./mysqld_safe &

如果你想关闭目前运行的 MySQL 服务器, 你可以执行以下命令:

root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

MySQL 用户设置

如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 user 表添加新用户即可。

以下为添加用户的的实例,用户名为guest,密码为guest123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限:

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

mysql> INSERT INTO user 
          (host, user, password, 
           select_priv, insert_priv, update_priv) 
           VALUES ('localhost', 'guest', 
           PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
| host      | user    | password         |
+-----------+---------+------------------+
| localhost | guest | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)

在添加用户时,请注意使用MySQL提供的 PASSWORD() 函数来对密码进行加密。 你可以在以上实例看到用户密码加密后为: 6f8c114b58f2ce9e.

注意:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。 如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。

你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 ‘Y’ 即可,用户权限列表如下:

  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

另外一种添加用户的方法为通过SQL的 GRANT 命令,你下命令会给指定数据库TUTORIALS添加用户 zara ,密码为 zara123 。

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

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    -> ON TUTORIALS.*
    -> TO 'zara'@'localhost'
    -> IDENTIFIED BY 'zara123';

以上命令会在mysql数据库中的user表创建一条用户信息记录。

注意: MySQL 的SQL语句以分号 (;) 作为结束标识。


/etc/my.cnf 文件配置

一般情况下,你不需要修改该配置文件,该文件默认配置如下:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

在配置文件中,你可以指定不同的错误日志文件存放的目录,一般你不需要改动这些配置。


管理MySQL的命令

以下列出了使用Mysql数据库过程中常用的命令:

  • USE 数据库名 :选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。
  • SHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表。
  • SHOW TABLES: 显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
  • SHOW COLUMNS FROM 数据表: 显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
  • SHOW INDEX FROM 数据表: 显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
  • SHOW TABLE STATUS LIKE 数据表\G: 该命令将输出Mysql数据库管理系统的性能及统计信息。

 

阁莉绮护肤品-你身边的护肤品专家!买护肤品可加微信号:shy18770922391







作者水平有限,若还未解决您的问题疑问,或本文有错误地方,您可以在“互动问答中心”( 问客),和大家一起交流探讨并指正。谢谢! 地址:  http://wenke.bcoder.cn 

本文链接:  http://www.bcoder.cn/mysql-jichu/ 
转载请注明来源: bcoder编程学习网 《MySQL基础教程》

分享到: 1
标签: mysql

上一篇

String、StringBuffer、StringBuilder三者区别

下一篇

MySQL基本操作

bcoder编程网(www.bcoder.cn)站长,一生中可以喜欢很多人,但心疼的只有一个。 QQ:739696033 微博:BestCoder_冰

—— Coder.Bing

TA的网站

你可能也喜欢Related Posts

众说纷纭Comments

最新 最早 最热
  • 0条评论
  • 还没有评论,沙发等你来抢
来一发

Bcoder编程网正在使用多说

最热文章

  • 苹果iOS设备日期设置到1970年变砖?原理及解救方法来了

    2016-02-13阅读(101)

  • 日本主机使用体验:云左科技怎么样?

    2016-02-14阅读(87)

  • 让wptouch自动跳转到手机版地址

    2016-02-10阅读(57)

  • wordpress音乐电台主题

    2016-02-11阅读(54)

  • MySQL基础教程_第2张图片

    人类首探引力波:这个大新闻到底说了啥

    2016-02-12阅读(42)

  • WordPress杂志主题:Magazine

    2016-02-11阅读(37)

热门搜索


MySQL基础教程_第3张图片
id="starIframe1" src="http://inte.sogou.com/ct?id=540354&h=250&w=300&fv=19&if=16&sohuurl=http%3A%2F%2Fwww.bcoder.cn%2Fmysql-jichu%2F&refer=http%3A%2F%2Fwww.bcoder.cn%2Fcategory%2Fbianchengyuyan%2F&rnd=89e5e63370fe345f&z=f4eb8c2c147b1809&lmt=1455702817&srp=1366,768&ccd=24&lhi=1&eja=false&npl=5&nmi=7&ece=true&lan=zh-CN&bi=1&t1=256&t2=1455702818&pvt=1455702817523&ssi0=259&ti=MySQL%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B%20-%20Bcoder%E7%BC%96%E7%A8%8B%E7%BD%91&bs=1349,667&tmp_cdif=0&mi=0&m=MTQ1NTcwMjgxN19wcmV0dHkgZG9nXzU0MDM1NAA-&ex=&glx=0" width="300" height="250" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="display: table;">

id="starIframe2" src="http://inte.sogou.com/ct?id=540358&h=250&w=300&fv=19&if=16&sohuurl=http%3A%2F%2Fwww.bcoder.cn%2Fmysql-jichu%2F&refer=http%3A%2F%2Fwww.bcoder.cn%2Fcategory%2Fbianchengyuyan%2F&rnd=89e5e63370fe345f&z=05cb7ebdebaee423&lmt=1455702818&srp=1366,768&ccd=24&lhi=1&eja=false&npl=5&nmi=7&ece=true&lan=zh-CN&bi=2&t1=346&t2=1455702818&pvt=1455702817523&ssi0=259&ti=MySQL%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B%20-%20Bcoder%E7%BC%96%E7%A8%8B%E7%BD%91&bs=1349,667&tmp_cdif=0&mi=0&m=MTQ1NTcwMjgxN19wcmV0dHkgZG9nXzU0MDM1OAA-&ex=&glx=0" width="300" height="250" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="display: table;">

标签

301重定向 2345推广 android c code编辑器 c和指针 c语言 ios IT业界 java javaweb javaweb实习 java面试 javweb jsp linux mysql mysql数据库 qqoq3.0 windows windows系统 windows软件 wordpress wordpress主题 wordpress插件 wptouch wptouch插件 二叉树 代码 代码编辑器 安卓软件 小黄人大眼萌 引力波 排序算法 操作系统 数据结构 算法 编程视频 编程视频教程 编程语言 编程软件 网站通知 视频教程 计算机网络 软件工具

攒攒人品


Copyright © bcoder编程网. 赣ICP备15012298号-1 本站托管于  云左科技 站长统计-当前在线[1]
易语言编程学习
编程
c语言小游戏编程
MySQL基础教程_第4张图片 易语言编程学习
MySQL基础教程_第5张图片 编程
MySQL基础教程_第6张图片 c语言小游戏编程


你可能感兴趣的:(数据库)