MySQL的版本
社区版:可自由下载且彻底免费,但官方不提供任何技术支持,适用于大多数普通用户
企业版:不能自由下载且收费,该版本提供了更多的功能,能够享受3完备的技术支持,适用于对数据库的功能和可靠性要求比较高的企业用户
MySQL的优点
一、运行速度快。MySQL体积小,命令执行的速度快
二、使用成本低。MySQL是开源的,且提供免费版本,对大多数用户来讲大大下降了使用成本
三、容易使用。与其余大型数据库的设置和管理相比,其复杂程度低,易于使用
四、可移植性强。MySQL可以运行与多种系统平台上,如Windows、Linux、UNIX等
五、适用于更多用户。MySQL支持最经常使用的数据管理功能,适用于中小型企业甚至大型网站应用
端口设置
在设置networking options(网络选择)时,默认启用TCP/IP网络,默认端口为3306,勾选“Addfirewall exception for this port” 复选框,防火墙容许该端口访问
默认字符集设置
Standard Character Set(标准字符集):MuSQL提供的标准字符集默认为Latin1
Best Support Multilingualism(支持多语言最好的字符集):默认值为UTF8
Manual Selected Default Character Set/Collation(人工选择的默认字符集/校对规则):若是须要手动设置服务器的默认字符集,可点此单选按钮,从下拉列表中选择指望的字符集
将bin目录写入环境变量
将安装目录下bin文件夹完整路劲(如C:Program Files\MySQL\MySQL Server5.5\bin)写入path环境变量
- bin文件夹:该文件夹下存放着可执行文件
- include文件夹:该文件夹下存放着头文件
- lib文件夹:该文件夹下存放着库文件
- share文件夹:该文件夹下存放着字符集、语言等信息
- MySQL安装目录下的my.in的文件是MySQL软件正在使用的配置文件
经过修改MySQL配置文件来手动配置数据库服务器MySQL时,经常使用的参数以下:
- default-character-set:客户端默认字符集
- character-set-server:服务器端默认字符集
- port:客户端和服务器端的端口号
- default-storage-engin:MySQL默认储存引擎
检查是否启动服务
(1)、右击“计算机”图标,在弹出的快捷菜单中选择“管理”命令,打开“计算机管理”窗口
(2)、选择“计算机管理(本地)”→“服务和应用程序”→“服务”节点,右侧窗格中显示Windows系统的全部服务,包括MySQL服务
(3)、查看MySQL服务能够发现该服务已处于启动状态
提示:
若是修改了MySQL软件的配置文件,则必需要从新启动MySQL服务后,修改的内容才能生效
除经过操做系统提供的界面设置服务以外,也能够经过在DOS窗口输入“net start mysql” 指令启动MySQL服务,经过输入“net stop mysql” 指令中止MySQL服务
命令行方式链接数据库
语法:mysql -h 服务器知己地址 -u 用户名 -p 密码
登陆后的效果如图所示:
或者经过MySQL自带的“MySQL Command Line Client” 连结数据库来登陆MySQL数据库,无需命令,只需提示输入密码,如图所示:
MySQL中数据库的类型
一、系统数据库
- information_schema:主要存储系统中的一些数据库对象信息,如用户表信息,字段信息、权限信息、字符集信息和区分信息
- performance_schema:主要存储数据库服务器性能参数
- mysql:主要存储系统的用户权限信息
- test:MySQL数据库系统自动建立的测试数据库,任何用户均可以使用
二、用户数据库
用户数据库是用户根据需求建立的数据库
操做数据库
一、建立数据库
语法:CREATE DATABASE 数据库名;
提示:
- “Query OK”:表示SQL语句执行成功
- ”1 row affected“:表示操做影响行数
- ”0.00sec“:表示操做执行时间
二、查看数据库列表
语法:SHOW DATABASES;
三、选择数据库
语法:USE 数据库名;
若是数据库不存在,则会报错;若是存在且用户有访问,则提示”Database changed“,即数据库已切换
四、删除数据库
语法:DROP DATABASE 数据库名;
经过SQLyog链接MySQL
一、登陆MySQL
双击SQLyog 图标,单击”新建“按钮,新建链接为”MySQL“(名称自取),正确的输入服务器地址、用户名、密码、端口号,在”数据库“文本框中填写数据库名称,若是不写,则显示全部数据库。配置完毕后,可单击”测试链接“按钮,查看是否链接成功
二、链接MySQL
配置成功后,单击”链接“按钮,进入SQLyog的操做界面,在左侧的对象资源管理器中显示了MySQL数据库管理系统中全部的数据库
使用SQLyog工具建立数据库
一、经过操做向导建立数据库
操做过程和SQL Server数据库类似,右击对象资源管理器窗口的空白处,在弹出的快捷菜单中选择“建立数据库”命令
二、经过SQL语句建立数据库
能够在Query窗口中经过SQL语句来实现数据库的建立
在”历史“的窗格中,能够查看操做的历史记录
回顾结构化查询语言
(1)、DML(数据操做语言):用来插入、修改和删除表中的数据,如INSERT、UPDATE、DELETE等
(2)、DDL(数据定义语言):在数据库中建立和删除数据库对象等操做,如CREATE、DROP、ALTER等语句
(3)、DQL(数据查询语言):用来对数据库中的数据进行查询,指SELECT语句
(4)、DCL(数据控制语言):用来对数据库组件的存取许可、存取权限等,如GRANT、REVOKE等
数据类型
建立数据库表的步骤:
- 肯定表中有哪些字段
- 肯定每字段的数据类型
- 给表添加各类约束
- 建立各表之间的关系
一、数值类型
二、字符串类型
三、日期类型
建立表
一、语法
CREATE TABLE [IF NOT EXISYS] 表名(
字段1 数据类型 [字段属性|约束][索引][注释],
字段2 数据类型 [字段属性|约束][索引][注释],
.......
字段n 数据类型 [字段属性|约束][索引][注释],
)
例如:
create table `student`(
`studentNo` int(4) not null primary key comment '学号',
`loginPwd` varchar(50) not null comment '密码',
`studentName` varchar(50) not null comment '姓名',
`sex` char(2) default '男' not null comment '性别',
`greadId` int(4) unsigned comment '联系电话',
`phone` varchar(50) comment '联系电话',
`address` varchar(255) default '地址不详'comment '地址',
`bornDate` datetime comment '出生日期',
`email` varchar(50) comment '邮箱账号',
`identityCard` varchar(18) unique key comment '身份证号'
)comment='学生表';#这是注释
注意:
- 在MySQL中,若是使用的数据库名、表名或字段名等与保留字冲突时,须要使用撇号括起来
- 使用CREATE TABLE语句建立表时,多字段之间使用逗号(,)分割,最后一个字段后无须逗号
- MySQL中经常使用的两种注释方式:
- 单行注释:#.......。
- 多行注释:/*......*/
- 表中的字段也可称为列
二、字段的约束及属性
单字段主键
(1)、在定义字段的同时指定主键
语法:
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型 PRIMARY KEY,
.......
)
(2)、在定义全部字段以后指定主键
语法:
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型,
.......
[CONSTRAINT<约束名>] PRIMARY KEY[列名]
)
多字段主键
主键由多字段组成
语法:
CREATE TABLE [IF NOT EXISTS] 表名(
.......
PRIMARY KEY[字段1,字段2......]
)
三、注释
在建立表的同时能够为表或字段添加说明性的文字,即注释,使用COMMENT关键字来实现
四、编码格式设置
在默认状况下,MySQL 全部数据库、表、字段等使用MySQL默认字符集,能够经过my.in文件中的default→character→set参数来修改默认字符集
当在特定状况下,为达到特殊存储内容的要求,课指定其余字符集,语法以下:
CREATE TANLE [IF NOT EXISTS] 表名(
#省略代码
)CHARSET=字符集名;
查看表
建立完表以后,若是须要查看一下是否存在,可使用查看表的SQL命令,语法以下:
SHOW tables;
注意:在使用SHOW tables以前,必须先选择数据库,不然将会报错误提示“No database selected”
若是须要查看表的定义,能够经过查看表的定义,能够经过执行SQL语句DESCRIBE来实现,语法以下:
DESCRIBE 表名;
或
DESC 表名;
注意:若是当前MySQL设置的默认编码格式为非GBK格式,则可能产生乱码,所以在输信息以前执行“ SET NAMES gbk; ”这条语句至关与同时执行了如下3条语句:
SET character_set_client=gbk;
SET character_set_results=gbk;
SET character_set_connection=gbk;
删除表
语法:DROP TABLE [IF EXISTS] 表名;
经常使用的存储引擎
InnoDB和MyISAM存储引擎比较
功能
|
InnoDB
|
MyISAM
|
支持事务
|
支持
|
不支持
|
支持全文索引
|
不支持
|
支持
|
外键约束
|
支持
|
不支持
|
表空间大小
|
较大
|
较小
|
数据行锁定
|
支持
|
不支持
|
MyISAM存储引擎:该存储引擎不支持事务,也不支持外键,访问速度比较快,所以对不须要事务处理,空间小,以访问为主的应用适合该引擎
InnoDB存储引擎:在事务处理上有优点,支持具备提交,回滚和崩溃恢复能力的事务安装,多用于删除,更新操做,安全性高,事务处理及并发控制
操做默认存储引擎
安装版MySQL5.5默认的存储引擎是InnoDB ,能够经过一下语句查看当前默认的存储引擎:
语法:SHOW VARIABLES LIKE ‘storage_engine%’;
若是修改默认存储引擎,能够经过配置向导,也能够经过修改配置文件my.ini来实现,修改内容以下:
default_storage_engine=InnoDB
指定表的存储引擎
语法:
CREATE TABLE 表名(
#省略代码
)ENGINE=存储引擎;
MyISAM类型表文件
*.frm:表结构定义文件
*.MYD:数据文件
*.MYI:索引文件
InnoDB类型表文件
*.frm:表结构定义文件
ibdata1文件