使用 MySQL 自带的一个工具"MySQL GUI Tools",我一直用的是5.0版本的。 在安装目录中运行一个程序 MySQLSystemTrayMonitor.exe,运行完后在系统托盘会出现图标。如果MySQL服务尚未安装,则不会出现,可先通过Action>Manage MySQL Instances 先配置和安装服务。如果已经安装服务,鼠标右键点击后,会出现"Configure Instance"的菜单。点击后出现如下MySQL Administrator窗口:
假如原来的服务配置都正常的情况下,选中左侧列表中的“启动变量”,并在相应的右侧标签中选择“安全”,勾选“禁用grant表”,然后“应用更改”。
并回到左侧的“服务器控制”,和右侧相应的“开始/停止服务”标签,点击启动服务。此时,连接mysql已经不需要用户名和密码了,你可以修改root密码。
首先我们先进入mysql的安装目录下的bin目录、之后打开DOS命令窗口,进入该目录下(一定要进入该目录,否则操作错误)
执行DOS命令:
输入命令:mysqld --install,之后出现如下界面。提示安装服务成功。
注意是mysqld --install不是mysql --install
如果要卸载服务,可以输入如下命令:mysqld --remove。出现如下界面。提示移除服务成功。
3.2、使用安装版MySQL5.5.27_64位安装包下载地址1: https://pan.baidu.com/s/1minwz1m 密码: ispn
MySQL5.5.27_64位安装包下载地址2:
MySQL5.7.17安装包官网下载地址: https://dev.mysql.com/downloads/windows/installer/
选择自定义:
安装的组件信息:
服务器软件目录:
数据目录:
点击install安装即可:
配置:
机器类型
是否支持事务功能:
innodb表空间:
连接数量:
字符集设定:
配置windows管理相关:
配置安全选项,设置管理员的用户名与密码:
最后执行配置即可:
配置后,会启动服务。
新版的MySQL安装包大了很多,安装过程也有些不一样。
四、使用GUI操作MySQL 4.1、关系型数据库的典型概念数据库 databse:数据的仓库
表 table:数据是保存在表内,保存在一个表内的数据,应该具有相同的数据格式
行:行用于记录数据
记录:行内的数据
列:列用于规定数据格式
字段:数据的某个列
SQL:用来管理数据的语言。结构化查询语言(SQL,Structured Query Language)
主键:唯一地标识表中的某一条记录,不能空,不能重复
4.2、登录数据库
*连接本地数据库时需要启动服务
4.3、创建数据库4.4、创建表
列的类型:
数字类型
整数: tinyint、smallint、mediumint、int、bigint
浮点数: float、double、real、decimal
日期和时间: date、time、datetime、timestamp、year
字符串类型
字符串: char、varchar
文本: tinytext、text、mediumtext、longtext
二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
列的约束:
4.5、管理数据 4.5.1、添加数据双击新建好的表名,打开表,就可以添加数据了。
4.5.2、删除数据 4.5.3、修改表结构
如果想向现有的表中添加一列,则可以修改表结构:
4.5.4、外键上面这个学生表是有些问题的:
a)、不便于修改,比如教室换成了305教室,则每个学员都要修改
b)、数据冗余,大量的重复数据
将表拆分成两个,分解后问题解决,如下图所示:
这里的班级编号就是外键,可以空,但不为空时他的值一定在要引用表中存在。如果学生表中的编号是主键这里就不应该重复,外键则可以重复也允许为空。
添加外键:
班级表:
学生表:
添加外键:
删除与更新时可以实现级联更新与删除,当更新设置为CASCADE时主键变化引用主键的表也会一起变化,当删除设置为CASCADE时删除主键表,引用的记录都将被删除。
4.6、上机练习1、请创建一个新的数据库叫HR,在HR数据库中添加EMP表,EMP表的表结构如下所示
EMP表,员工信息
№
名称
类型
描述
1
EMPNO
int
雇员的编号,主键,自动增长
2
ENAME
VARCHAR(10)
雇员的姓名,由10位字符所组成,不为空,唯一键
3
JOB
VARCHAR(9)
雇员的职位
4
MGR
int
雇员对应的领导编号,领导也是雇员,可空(可删除这一列)
5
HIREDATE
TimeStamp
雇员的雇佣日期,默认为当前日期
6
SAL
NUMBER(7,2)
基本工资,其中有两位小数,五位整数,一共是七位
7
COMM
NUMBER(7,2)
奖金,佣金
8
DEPTNO
NUMBER(2)
雇员所在的部门编号,可空,外键fk_deptno
9
DETAIL
Text
备注,可空
Dept,部门表
№
名称
类型
描述
1
DeptNO
int
部门的编号,主键,自动增长
2
DNAME
VARCHAR(10)
部门名,由50位字符所组成,不为空,唯一键
3
DTel
VARCHAR(10)
电话,可空
2、根据上面的表结构完成表的创建,表名为emp
3、在表中添加5条以上的数据
4、完成下列查询要求
4.1查询所有员工信息
4.2查询所有工资介于2000-5000间的员工姓名、职位与工资
4.3查询所有姓“张”的员工
4.4 按工资降序查询出2014年到2015年间入职的员工
4.5、将工资普遍上调20%
4.6、将工资低于3000元的员工奖金修改为工资的2.8倍
4.7、删除编号为5或者姓“王”的员工
五、使用SQL访问MySQL数据库 5.1、增加数据insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下:
Insert into 表名(字段列表) values (值列表);
insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);
insert into students values(NULL, "张三", "男", 20, "18889009876");
有时我们只需要插入部分数据, 或者不按照列的顺序进行插入, 可以使用这样的形式进行插入:
insert into students (name, sex, age) values("李四", "女", 21);
5.2、查询数据select 语句常用来根据一定的查询规则到数据库中获取数据, 其基本的用法为:
select 字段名 from 表名称 [查询条件];
查询学生表中的所有信息:select * from students;
查询学生表中所有的name与age信息:select name, age from students;
也可以使用通配符 * 查询表中所有的内容, 语句: select * from students;
5.2.1、表达式与条件查询where 关键词用于指定查询条件, 用法形式为: select 列名称 from 表名称 where 条件;
以查询所有性别为女的信息为例, 输入查询语句: select * from students where sex="女";