赞
踩
MySQL以前一直是开源免费的,被Oracle收购后有些变化:以前的版本都是免费的,社区版按GPL协议开源免费,商业版提供更加丰富的功能,但收费。
社区版的下载地址:https://dev.mysql.com/downloads/ (免费)
企业版的下载地址:https://www.mysql.com/downloads/(收费)
为了方便快捷的使用MySQL我已经准备好了一个绿化了的MySQL,解压后就可以直接使用,不需要任何配置。
下载地址1:https://pan.baidu.com/s/1K08GU-E4CyEKKIseBYwRYA 密码: e59m
下载地址2:http://download.csdn.net/detail/zhangguo5/9773842
下载后直接解压:
点击启动PStart.exe这是一个自定义菜单的小工具,为了整理资源用的。
里面有两个MySQL的绿色版软件5.0,5.5
Navicat for MySQL是一个数据库客户端管理工具
点击启动PStart.exe后的结果如下:
点击启动MySQL服务,运行Navicat for MySQL即可。
*注意:上面的PStart只是一个整理文档资料的工具,并非必要,如果启动时有错误或为空时,可以直接关闭,直接启动MySQL服务,如:
mysql_start.bat用于启动MySql数据库,mysql_stop.bat用于关闭MySql数据库。
开发工具的启动方式也一样,如下所示:
navicat.exe用于启动Navicat数据库客户端,最好发送快捷方式到桌面,省去每次打开文件夹的麻烦。
执行mysql 命令进入mysql 命令模式,执行如下SQL代码
mysql> use mysql; mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。root帐户是无法远程登陆的,只可以本地登陆
1.mysqladmin命令
格式如下(其中,USER为用户名,PASSWORD为新密码):
mysqladmin -u USER -p password PASSWORD
该命令之后会提示输入原密码,输入正确后即可修改。
例如,设置root用户的密码为123456,则
mysqladmin -u root -p password 123456
2.UPDATE user 语句
这种方式必须是先用root帐户登入mysql,然后执行:
UPDATE user SET password=PASSWORD('123456') WHERE user='root';FLUSH PRIVILEGES;
3.SET PASSWORD 语句
这种方式也需要先用root命令登入mysql,然后执行:
SET PASSWORD FOR root=PASSWORD('123456');
4.root密码丢失的情况
使用 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。出现如下界面。提示移除服务成功。
MySQL5.5.27_64位安装包下载地址1: https://pan.baidu.com/s/1minwz1m 密码: ispn
MySQL5.5.27_64位安装包下载地址2: http://download.csdn.net/detail/zhangguo5/9775460
MySQL5.7.17安装包官网下载地址: https://dev.mysql.com/downloads/windows/installer/
选择自定义:
安装的组件信息:
服务器软件目录:
数据目录:
点击install安装即可:
配置:
机器类型
是否支持事务功能:
innodb表空间:
连接数量:
字符集设定:
配置windows管理相关:
配置安全选项,设置管理员的用户名与密码:
最后执行配置即可:
配置后,会启动服务。
新版的MySQL安装包大了很多,安装过程也有些不一样。
数据库 databse:数据的仓库
表 table:数据是保存在表内,保存在一个表内的数据,应该具有相同的数据格式
行:行用于记录数据
记录:行内的数据
列:列用于规定数据格式
字段:数据的某个列
SQL:用来管理数据的语言。结构化查询语言(SQL,Structured Query Language)
主键:唯一地标识表中的某一条记录,不能空,不能重复
*连接本地数据库时需要启动服务
列的类型:
数字类型
整数: tinyint、smallint、mediumint、int、bigint
浮点数: float、double、real、decimal
日期和时间: date、time、datetime、timestamp、year
字符串类型
字符串: char、varchar
文本: tinytext、text、mediumtext、longtext
二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
列的约束:
双击新建好的表名,打开表,就可以添加数据了。
如果想向现有的表中添加一列,则可以修改表结构:
上面这个学生表是有些问题的:
a)、不便于修改,比如教室换成了305教室,则每个学员都要修改
b)、数据冗余,大量的重复数据
将表拆分成两个,分解后问题解决,如下图所示:
这里的班级编号就是外键,可以空,但不为空时他的值一定在要引用表中存在。如果学生表中的编号是主键这里就不应该重复,外键则可以重复也允许为空。
添加外键:
班级表:
学生表:
添加外键:
删除与更新时可以实现级联更新与删除,当更新设置为CASCADE时主键变化引用主键的表也会一起变化,当删除设置为CASCADE时删除主键表,引用的记录都将被删除。
create table s_orderform( o_id int auto_increment primary key, o_buyer_id int, o_seller_id int, o_totalprices double, o_state varchar(50), o_information varchar(200),foreign key(o_buyer_id) references s_user(u_id), #外链到s_user表的u_id字段foreign key(o_seller_id) references s_user(u_id) #外链到s_user表的u_id字段)
唯一键,也称(唯一约束),和主键的区别是可以为有多个唯一键并且值可以为NULL,但NULL也不能重复,也就是说只能有一行的值为NULL。它会隐式的创建唯一索引。
设置方法:索引 --> 添加索引 --> 栏位名 添加你想设置唯一约束的列 --> 索引类型选择 Unique
#查询select id,name from yuangongselect * from yuangongselect * from yuangong where salary>5000#增加INSERT into yuangong(name,salary,bumenId,mobile) value('张为剑',2190.6,2,19889007867);INSERT into yuangong(name,salary,bumenId,mobile) value('张娜拉',9871.6,1,19889007777);#修改update yuangong set salary=salary+1 where id=7#删除INSERT into yuangong(name,salary,bumenId,mobile) value('张拉拉',9871.6,1,19889007777);delete from yuangong where id=8
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 | Numeric(7,2) | 基本工资,其中有两位小数,五位整数,一共是七位 |
7 | COMM | Numeric(7,2) | 奖金,佣金 |
8 | DEPTNO | int | 雇员所在的部门编号,可空,外键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或者姓“王”的员工
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。