MySQL菜鸟教程.docx

上传人:b****8 文档编号:11008631 上传时间:2023-02-24 格式:DOCX 页数:105 大小:683.37KB
下载 相关 举报
MySQL菜鸟教程.docx_第1页
第1页 / 共105页
MySQL菜鸟教程.docx_第2页
第2页 / 共105页
MySQL菜鸟教程.docx_第3页
第3页 / 共105页
MySQL菜鸟教程.docx_第4页
第4页 / 共105页
MySQL菜鸟教程.docx_第5页
第5页 / 共105页
点击查看更多>>
下载资源
资源描述

MySQL菜鸟教程.docx

《MySQL菜鸟教程.docx》由会员分享,可在线阅读,更多相关《MySQL菜鸟教程.docx(105页珍藏版)》请在冰豆网上搜索。

MySQL菜鸟教程.docx

MySQL菜鸟教程

MySQL教程

Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:

关系数据库管理系统)应用软件之一。

在本教程中,会让大家快速掌握Mysql的基本知识,并轻松使用Mysql数据库。

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,

每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。

所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS即关系数据库管理系统(RelationalDatabaseManagementSystem)的特点:

∙1.数据以表格的形式出现

∙2.每行为各种记录名称

∙3.每列为记录名称所对应的数据域

∙4.许多的行和列组成一表单

∙5.若干的表单组成database

RDBMS术语

在我们开始学习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上安装Mysql

Linux平台上推荐使用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:

yuminstallmysql

yuminstallmysql-server

yuminstallmysql-devel

启动mysql:

servicemysqldstart

注意:

如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置。

如果是CentOS7版本,由于MySQL数据库已从默认的程序列表中移除,可以使用mariadb代替:

yuminstallmariadb-servermariadb

mariadb数据库的相关命令是:

systemctlstartmariadb#启动MariaDB

systemctlstopmariadb#停止MariaDB

systemctlrestartmariadb#重启MariaDB

systemctlenablemariadb#设置开机启动

验证Mysql安装

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

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

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

\mysql\bin。

[roothost]#mysqladmin--version

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

mysqladminVer8.23Distrib5.0.9-0,forredhat-linux-gnuoni386

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

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

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

命令如下:

[roothost]#mysql

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

mysql>SHOWDATABASES;

+----------+

|Database|

+----------+

|mysql|

|test|

+----------+

2rowsinset(0.13sec)

Mysql安装后需要做的

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

[roothost]#mysqladmin-urootpassword"new_password";

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

[roothost]#mysql-uroot-p

Enterpassword:

*******

注意:

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

Window上安装Mysql

Window上安装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服务器:

roothost#cd/usr/bin

./mysqld_safe&

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

roothost#cd/usr/bin

./mysqladmin-uroot-pshutdown

Enterpassword:

******

MySQL用户设置

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

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

roothost#mysql-uroot-p

Enterpassword:

*******

mysql>usemysql;

Databasechanged

mysql>INSERTINTOuser

(host,user,password,

select_priv,insert_priv,update_priv)

VALUES('localhost','guest',

PASSWORD('guest123'),'Y','Y','Y');

QueryOK,1rowaffected(0.20sec)

mysql>FLUSHPRIVILEGES;

QueryOK,1rowaffected(0.01sec)

mysql>SELECThost,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_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。

roothost#mysql-uroot-ppassword;

Enterpassword:

*******

mysql>usemysql;

Databasechanged

mysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROP

->ONTUTORIALS.*

->TO'zara''localhost'

->IDENTIFIEDBY'zara123';

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

注意:

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

/etc/f文件配置

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

[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命令都只针对该数据库。

∙mysql>useRUNOOB;

Databasechanged

∙SHOWDATABASES:

列出MySQL数据库管理系统的数据库列表。

∙mysql>SHOWDATABASES;

∙+--------------------+

∙|Database|

∙+--------------------+

∙|information_schema|

∙|RUNOOB|

∙|cdcol|

∙|mysql|

∙|onethink|

∙|performance_schema|

∙|phpmyadmin|

∙|test|

∙|wecenter|

∙|wordpress|

∙+--------------------+

10rowsinset(0.02sec)

∙SHOWTABLES:

显示指定数据库的所有表,使用该命令前需要使用use命令来选择要操作的数据库。

∙mysql>useRUNOOB;

∙Databasechanged

∙mysql>SHOWTABLES;

∙+------------------+

∙|Tables_in_runoob|

∙+------------------+

∙|employee_tbl|

∙|runoob_tbl|

∙|tcount_tbl|

∙+------------------+

3rowsinset(0.00sec)

∙SHOWCOLUMNSFROM数据表:

显示数据表的属性,属性类型,主键信息,是否为NULL,默认值等其他信息。

∙mysql>SHOWCOLUMNSFROMrunoob_tbl;

∙+-----------------+--------------+------+-----+---------+-------+

∙|Field|Type|Null|Key|Default|Extra|

∙+-----------------+--------------+------+-----+---------+-------+

∙|runoob_id|int(11)|NO|PRI|NULL||

∙|runoob_title|varchar(255)|YES||NULL||

∙|runoob_author|varchar(255)|YES||NULL||

∙|submission_date|date|YES||NULL||

∙+-----------------+--------------+------+-----+---------+-------+

4rowsinset(0.01sec)

∙SHOWINDEXFROM数据表:

显示数据表的详细索引信息,包括PRIMARYKEY(主键)。

∙mysql>SHOWINDEXFROMrunoob_tbl;

∙+------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

∙|Table|Non_unique|Key_name|Seq_in_index|Column_name|Collation|Cardinality|Sub_part|Packed|Null|Index_type|Comment|Index_comment|

∙+------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

∙|runoob_tbl|0|PRIMARY|1|runoob_id|A|2|NULL|NULL||BTREE|||

∙+------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

1rowinset(0.00sec)

∙SHOWTABLESTATUSLIKE[FROMdb_name][LIKE'pattern']\G:

该命令将输出Mysql数据库管理系统的性能及统计信息。

∙mysql>SHOWTABLESTATUSFROMRUNOOB;#显示数据库RUNOOB中所有表的信息

∙mysql>SHOWTABLESTATUSfromRUNOOBLIKE'runoob%';#表名以runoob开头的表的信息

mysql>SHOWTABLESTATUSfromRUNOOBLIKE'runoob%'\G;#加上\G,查询结果按列打印

Gif图演示:

MySQL安装

MySQLPHP语法

笔记列表

1.   oocarain

  ooc***in163.

记录MySQL学习过程遇到的问题。

系统:

win32位

MySQL版本:

5.7.17-log

MySQL语法对大小写不敏感,但是大写更容易看出。

一、启动关闭MySQL服务

1【开始菜单】搜索services.msc打开windows【服务管理器】,可以在此开启关闭MySQL服务。

2在cmd中使用命令:

netstartmysql#启动mysql服务

netstopmysql#关闭mysql服务

遇到net命令无法识别,如下:

这是环境变量没有配置的原因,究竟是哪一个文件的环境变量没有配置呢?

是C:

\windows\system32\这个路径下的net.exe没有配置环境变量

现切换到这个路径下试一下可不可以使用net命令:

在Powershell需要使用

.\netstopmysql

关闭服务。

在cmd中可以直接使用

netstartmysql

启动服务。

将c:

\windows\system32添加到系统的Path中后:

成功!

oocarain

   oocarain

  ooc***in163.

5个月前(03-06)

2.   一条鱼

  ili***yun163.

  参考地址

用insert添加用户时,可能会报错:

ERROR1364(HY000):

Field'ssl_cipher'doesn'thaveadefaultvalue

my-default.ini中有一条语句:

指定了严格模式,为了安全,严格模式禁止通过insert这种形式直接修改mysql库中的user表进行添加新用户

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

将STRICT_TRANS_TABLES删掉之后即可使用insert添加

 

MySQL连接

使用mysql二进制方式连接

您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。

实例

以下是从命令行中连接mysql服务器的简单实例:

[roothost]#mysql-uroot-p

Enterpassword:

******

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

以上命令执行后,登录成功输出结果如下:

WelcometotheMySQLmonitor.Commandsendwith;or\g.

YourMySQLconnectionidis2854760toserverversion:

5.0.9

Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.

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

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

退出mysql>命令提示窗口可以使用e

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1