第二章 MySQL入门篇
第一章 MySQL入门篇
一.MySql简介
简言: 和SQL Server数据库相同,MySQl也是一个关系型数据库管理系统。由瑞典的MySQL AB公司开发,2008年被SUN公司收购,2009年,SUN公司被Oracle公司收购,因此两个主流数据库均为Oracle公司所有。
1.MySQL的版本
a) 社区版(Community):可自由下载而且完全免费,但官方不提供任何技术支持。
b) 企业版(Enterprise):收费版本,由技术支持。
2.MySQL的优势
1) 运行速度快。因为MySQL体积小,命令执行的速度就快。
2) 使用成本低。MySQL是开源的,而且提供免费版本。
3) 容易使用。复杂程度低
4) 可移植性强。能运用多种平台上,如windows,Linux,UNIX等
5) 使用与更多用户。支持最常用的数据管理功能,适应中小型企业甚至是大型网站的应用。
3.MySQL支持的接口
标准C的API;
JDBC;
CDBC;
.NET;
PHP;
Pythop;
Perl;
Ruby;
Cobol;等
二.MySQL的配置
- 端口的设置 3306
- 默认字符集的设置:utf8
- 将bin目录写入环境变量
- Root账户密码设置
MySQL设置的实例:安装与配置
http://jingyan.baidu.com/article/9f7e7ec04407ff6f29155478.html
下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面
mysql安装向导启动,按“Next”继续
选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程:3
按顺序进行4
mysql配置向导启动界面,按“Next”继续5
选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。6
选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满7
选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,按“Next”继续8
对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续9
选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续10
是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。按“Next”继续11
西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续12
选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续13
这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。 “Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续
END
出现问题
如果是重装的,可能出现错误!下面有一些常用问题的解决方法
http://aben328.iteye.com/blog/609495
安装MySQL时无法启动服务(could not start the service MYSQL .Error:0)
在安装mysql时,到最后一步,执行时,在start service,出现如下错误:
Could not start the service
一般的发生原因是因为多次安装,或卸载后重装时,才会出现这个问题,所以要把所有相关的文件夹、服务、注册表等都要卸载干净了,再次安装就OK了。
有如下解决办法:
使用services.msc打开服务窗口,查看MySQL service是否已经存在。如已经存在并已启动,则先停止该服务,然后到注册表("HKEY_LOCAL_MACHINE/SYSTEM /CurrentControlSet/Services")中删除对应服务,并使用命令sc
delete MySQL,然后继续进行安装,就能成功。
三.MySQL的使用
1.使用命令连接MySQL数据库
- 检查是否启动MySQL服务
- 检查bin目录是否写入环境变量
- 使用命令(DOS):cmd—mysql [-h 服务器主机地址,如果是本机可省略] -u 用户名 –p密码。
或者是:使用命令(DOS):cmd—mysql [-h 服务器主机地址,如果是本机可省略] -u 用户名 –p 回车键 再输入密码,此时的密码是加密的安全性较高。
2.使用命名操作MySQL数据库
- 创建数据库
语法: CREATE DATABASE
数据库名;
- 查看数据库列表
查看数据列表的语法: SHOW DATABASES;
- 删除数据库
语法:DROP DATABASE
数据库名;
- 查看MySQL的版本:
SELECT VERSION();
- 查看MySQL的用户信息:
SELECT USER();
- 选择是数据库
USE 数据库名;
3.使用命令操作MySQL数据表
- 创建表
语法:
CREATE TABLE [IF
NOT EXISTS] `表名`(
`字段1` 数据类型 [字段属性|约束|索引|COMMENT’说明’],
`字段2` 数据类型 [字段属性|约束|索引|COMMENT’说明’]
)[表类型,如ENGINE=InnoDB][表字符集,如CHARSET=UTF8][注释COMMENT=”学生表”];
- 查看表
1)
SELECT *或要查看的字段名 FROM 表名;
2)
DESCRIBE 表名;
3)
DESC 表名;
- 删除表
DROP TABLE [IF EXISTS] 表名;
4.重要的数据类型及属性
- 没有符号; UNSIGNED 表示没有符号
- ZEROFILL;自动添加填充数据的位数,比如设置INT(4)实际输入12,则自动添加为0012
- ENGINE=InnoDB;指定表的存储引擎
- CHARSET=UTF8;创建表时指定表的字符集
- 主键约束 PRIMARY KEY(字段1,字段2【可以添加几个 主键,即复合主键】)
- 外键约束 FOREIGN KEY(字段)
- 自动增长 AUTO_INCREMENT,默认自增1
四.MySQL的存储引擎
常用的存储引擎:InnoDB ,MyISAM
InnoDB: 支持事务处理,外键,占用空间比MyISAM大,使用与需要事务处理,更新,删除频繁操作的场景。
MyISAM: 不支持事务和外键,占用空间小,访问速度快,适用于不需要事务处理,更新,删除频繁操作的场景。
五.MySQL查询系统帮助命令HELP
语法:HELP 查询的内容;
第二章 MySQL入门篇的更多相关文章
- 第二章 NIO入门
传统的同步阻塞式I/O编程 基于NIO的非阻塞编程 基于NIO2.0的异步非阻塞(AIO)编程 为什么要使用NIO编程 为什么选择Netty 第二章 NIO 入门 2.1 传统的BIO编程 2.1.1 ...
- 第二章Python入门
第二章 Python入门 2.1.简介 Python是著名的"龟叔"(Guido van Rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言 Pytho ...
- 最新MySQL入门篇
一.SQL简介 SQL:结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系 ...
- (基础篇 走进javaNIO)第二章-NIO入门
在本章巾,我们会分别对 JDK 的BIO ,NIO 和JDK 1.7 最新提供的 NI02.0的使用进行详细说明 ,通过流程图和代 码讲解,让大 家体会到随着 Ja va 1/0 类库的 不断发展和改 ...
- MySQL入门篇(二)之常见命令管理
一.SQL结构化查询语言 SQL,英文全称Structured Query Language,中文意思是结构化查询语言.它是一种对关系数据库中的数据进行定义和操作的语言方法,是大多数关系数据库管理系统 ...
- 第二章 Mysql 数据类型简介--(整数类型、浮点数类型和定点数类型,日期与时间类型,字符串类型,二进制类型)
第一节:整数类型.浮点数类型和定点数类型 1,整数类型 2,浮点数类型和定点数类型 M 表示:数据的总长度(不包括小数点):D 表示:小数位:例如 decimal(5,2) 123.45存入数据的时候 ...
- 第二章.python入门
2.1环境的安装 解释器:py2和py3 添加环境变量的作用:便于找到python解释器 开发工具:pycharm 2.2编码 2.2.1编码基础 ascii:只表示英文,8位表示一个元素,pytho ...
- MySQL入门篇(七)之Xtrabackup备份与恢复
一.Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况 ...
- MySQL入门篇(六)之mysqldump备份和恢复
一.备份单个数据库 1.备份命令:mysqldump MySQL数据库自带的一个很好用的备份命令.是逻辑备份,导出 的是SQL语句.也就是把数据从MySQL库中以逻辑的SQL语句的形式直接输出或生成备 ...
随机推荐
- C# 委托、匿名方法、lambda简介
在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆.我想下面的代码能证实这点.下面哪一个First会被编译?哪一个会返回我们需要的结果?即Customer.ID=5.答案是6个First不 ...
- 【C++】关于pow函数的用法
在C++中,pow有多个重载函数: 在dev中,pow(int,int)可以执行,但是在别的地方是不可以被编译的:会提示 :error C2668: “pow”: 对重载函数的调用不明确 可以看见,是 ...
- 团队作业4——第一次项目冲刺(Alpha版本)第五天
天气阴转晴 一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 1.界面 功能界面已经大致完成 实现判断学生答题正误的界面 2.出题方面 实现错题库的构造 四.困难与问题 1.项 ...
- Java程序设计第三周学习总结
1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- 201521123063 《Java程序设计》 第12周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 读操作 (1)读取控制台输入: BufferedReader br = new BufferedReader( ...
- 201521123111《Java程序设计》第10周学习总结
1. 本章学习总结 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容 线程不是程序 线程必须在程序对应的进程中运行 一个进程中可以同时执行多个线程,这些线程可以完成不同的功能. 2. 书面 ...
- 201521123016《Java程序设计》第10周学习总结
1. 本周学习总结 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 只有执 ...
- 201521123024 《Java程序设计》第11周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...
- while循环_do_while循环_switch
swith语法: switch(值) { case 值1: 语句 break; case 值2: 语句 break; case 值3: 语句 break; default: break; } 1.值与 ...
- 使用IntelliJ IDEA查看类的继承关系图形
最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟. 这次利用了IDEA的diagram,结果一目了然,也是好用到 ...