MySQL是目前最火的开源关系型数据库,其市场占有率仅次于关系数据库的大佬Oracle,比DB2和SQLServer高出一大截。本文作为MySQL的入门教程,介绍如何安装MySQL及基本使用。
MySQL的安装
Linux系统安装MySQL
在Linux上安装MySQL非常简单,以Ubuntu为例,只需要执行如下命令即可:
sudoapt-getupdatesudoapt-getinstallmysql-server
安装的过程中会提示输入root用户的密码,安装完成后就可以基本使用了。在实际生产环境应用的时候为了安全,需要做一些配置,本文暂时不做介绍。
如果在CentOS发行版,安装方法基本类似,具体执行如下命令:
sudoyuminstallmysql-serversudosystemctlstartmysqld
Windows系统安装MySQL
在Windows环境下安装也不负载,直接双击安装文件按照向导安装即可。如果作为学习,直接选择默认值即可。
A.打开安装包,同意协议,下一步
B.选择服务器安装
develop是指服务器为开发机serveronly只安装服务器clientonly只安装客户操作端full全部安装custom自定义
C.服务器参数修改
这一步MySQLserver会在界面中显示,由用户勾选完成最后的安装配置文件的自动配置。
其中:
ConfigType(配置文件类型)
DevelopmentMachine是指开发服务器ServerMachine服务器DedicatedMachine专用服务器仅作为数据库服务器使用TCP/IP是指开放的端口,mysql默认的端口是。
D.设置密码
会提示密码的安全状态
E.日志文件存放位置确认
Binlog是二进制文件ErrorLog是指错误文件slowQueryLog是慢查询日志
F.启动服务
数据库的基本使用
数据库安装完成后就可以使用了,我们以Linux系统下为例进行演示。这是因为MySQL在Linux上部署也是最为普遍的。
登录数据库
对于开发人员,在实际使用的时候可能通过程序访问比较多;而对于运维人员则通常是直接登录到数据库系统内部进行操作。我们以直接登录操作为例进行介绍,后面会介绍如果通过程序访问数据。在Linux系统登录数据库非常简单,假设我们数据库的用户名为root,密码是,执行如下命令:
mysql-uroot-p
如果用户,密码没有问题,就可以进入数据库系统,具体如下所示。
数据库实例操作
MySQL可以同时支持多个数据库实例,数据库系统安装完成后里面已经有一些系统数据库实例用于记录其私有数据。通过如下命令可以查看具体有哪些数据库实例:
showdatabases;
可以看到有如下数据库实例:
在没有创建自己实例的情况下,数据库实例都是系统数据库实例,我们可以创建一个自己的数据库实例,用于学习。创建数据库很简单,具体操作如下:
createdatabasetest;
如果要基于该数据库工作,需要切换到该数据库,使用如下命令进行切换:
usetest;
表操作
我们知道关系型数据库的存储实体就是表,任何数据都存储在表中。MySQL数据库实例中就是表,新的数据库没有任何表。通过如下命令可以创建一个新的表,我们这里创建一个学生表,包含学号,名字和性别等内容。
CREATETABLEIFNOTEXISTS`student`(`std_id`INTUNSIGNEDAUTO_INCREMENT,`std_name`VARCHAR()NOTNULL,`std_sex`VARCHAR(40)NOTNULL,PRIMARYKEY(`std_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;
创建表的基本语法如下,其中CREATTABLE为关键字,table_name为创建的表名,后面跟着每个字段及字段的类型。
CREATETABLEtable_name(column_namecolumn_type);
完成表的创建之后,可以查看数据库有哪些表:
showtables;
有了数据库表之后,我们就可以向表中插入数据了,具体示例如下:
insertintostudent(std_id,std_name,std_sex)values(1,sunnyzhang,m);
数据插入的语法格式如下,其中大写字符是关键字。
INSERTINTOtable_name(field1,field2,...fieldN)VALUES(value1,value2,...valueN);
通过下面SQL语句可以查询表中的数据。
select*fromstudent;
我们有条数据添加错误了,比如学号2的性别错了,需要修改一下(m-f)。
updatestudentsetstd_sex=fwherestd_id=2;
到此我们介绍了MySQL数据库的最基本用法,甚至都没有到入门的级别,今天先到这里,后续再逐一详细介绍。