HTML5技术

一个小时学会MySQL数据库 - 张果(4)

字号+ 作者:H5之家 来源:H5之家 2017-03-09 17:01 我要评论( )

使用 MySQL 自带的一个工具"MySQL GUI Tools",我一直用的是5.0版本的。 在安装目录中运行一个程序 MySQLSystemTrayMonitor.exe,运行完后在系统托盘会出现图标。如果MySQL服务尚未安装,则不会出现,可先通过Actio

使用 MySQL 自带的一个工具"MySQL GUI Tools",我一直用的是5.0版本的。 在安装目录中运行一个程序 MySQLSystemTrayMonitor.exe,运行完后在系统托盘会出现图标。如果MySQL服务尚未安装,则不会出现,可先通过Action>Manage MySQL Instances 先配置和安装服务。如果已经安装服务,鼠标右键点击后,会出现"Configure Instance"的菜单。点击后出现如下MySQL Administrator窗口:
假如原来的服务配置都正常的情况下,选中左侧列表中的“启动变量”,并在相应的右侧标签中选择“安全”,勾选“禁用grant表”,然后“应用更改”。
并回到左侧的“服务器控制”,和右侧相应的“开始/停止服务”标签,点击启动服务。此时,连接mysql已经不需要用户名和密码了,你可以修改root密码。

3.1.2、安装服务

首先我们先进入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="女";

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 用DapperExtensions和反射来实现一个通用搜索 - yt1983

    用DapperExtensions和反射来实现一个通用搜索 - yt1983

    2017-03-09 08:00

  • [前言] 实现一个Android电子书阅读APP - xfangs

    [前言] 实现一个Android电子书阅读APP - xfangs

    2017-03-04 09:03

  • 我问我自己,你究竟想成为一个什么样的人? - Felix_ICanFixIt

    我问我自己,你究竟想成为一个什么样的人? - Felix_ICanFixIt

    2017-03-01 08:00

  • SuperWebClient -一个基于CURL的.NET HTTP/HTTPS模拟神组件(1) - ByteWorke

    SuperWebClient -一个基于CURL的.NET HTTP/HTTPS模拟神组件(1) - B

    2017-02-28 12:01

网友点评