mysql



mysql数据库


1、数据库的简介
(1)什么是数据库,就是一个文件系统,使用标准sql对数据库进行操作(crud)


(2)常见的数据库
* oracle:是oracle公司产品,是大型的收费的数据库
* db2:是ibm公司的产品,是大型的收费的数据库
* SQLServer:是微软公司产品,是中型的数据库
* MySQL : 在oracle收购之后6.x版本开始收费,之前的版本是免费的。
* SQLite:是小型的嵌入式数据库,应用在客户端开发中,比如安卓


(3)关系数据库:存储的是实体之间的关系
* 比如有购物网站,有用户,订单,商品,称为实体
* 用户、订单和商品之间的关系称为实体之间的关系
* 使用er图表示实体之间的关系
** 实体使用矩形、在实体上面属性使用椭圆,之间的关系使用菱形


2、mysql的安装和卸载
(1)安装mysql 5.x版本


(2)mysql的安装步骤
* 在文档里面有安装步骤


(3)mysql的卸载
第一步,找到mysql的安装路径,找到一个文件my.ini文件找到两个路径,复制出来
basedir="C:/Program Files (x86)/MySQL/MySQL Server 5.5/"
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"


第二步,打开控制面板,找到安装的mysql数据库,进行卸载


第三步,找到第一步复制出来的两个路径,把这两个路径的里面的所有的文件都删除


第四步,打开注册表 regedit,搜索mysql,找到了都删除


第五步,重新启动系统


3、mysql服务器的存储结构
(1)mysql服务器
* 服务器:从硬件上,服务器就是一台电脑;从软件上,在电脑上安装了服务器软件。
* mysql服务器:在一台电脑上,安装了mysql数据库,这台电脑称为mysql服务器。
(2)mysql服务器的存储结构
* 有多个数据库,在每个数据库里面有多个数据库表,在每个表里面有多条记录


* 学习重点:对数据库、数据库表、表中的记录的操作(crud操作)


4、sql语言简介
(1)数据库是文件系统,使用标准sql对数据库进行操作
* 标准sql,在mysql里面使用语句,在oracle、db2都可以使用这个语句


(2)什么是sql
* Structured Query Language, 结构化查询语言,对数据库进行操作
* sql非过程性语言,不需要依赖于其他的条件就可以运行
** 比如 在java里面 
*** if(a > 5) {
System.out.....
   }


(3)sql的分类
第一类:DDL (数据定义语言)
* 创建数据库,创建数据库表
* 常用的语句 create
第二类:DML  (数据操纵语言)
* 对表中的记录进行增加 修改 删除操作
* 常用的语句 insert  update  delete
第三类:DCL (数据控制语言)
* 数据库的编程的语言
第四类:DQL (数据查询语言)
* 对表中的进行查询的操作
* 常用的语句 select

* 学习的主要内容:使用sql语言对数据库、数据库表、表中的记录进行增删改查(crud)操作


5、使用sql对数据库操作
(1)连接数据库
* 打开cmd窗口,使用命令,连接mysql数据库
* 命令: mysql -u root -p 密码


(2)创建数据库
* 语句: create database 数据库的名称;
** 示例:create database testdb1;


(3)查看所有的数据库
* 语句:show databases;


(4)删除数据库
* 语句:drop database 要删除的数据库的名称;
** 示例: drop database testdb1;


(5)切换数据库
* 如果想要创建一个数据库表,这个表要在一个数据库里面,所以需要切换到数据库
* 语句:use 要切换的数据库的名称;
** 示例:use testdb2;


6、使用sql对数据库表操作
(1)创建数据库表

(2)mysql的数据类型
字符串型 
VARCHAR、CHAR
* 当创建表时候,使用字符串类型,name varchar(40),指定数据的长度
* varchar和char的区别
** varchar的长度是可变的,比如 name varchar(5),存值 a ,直接把a存进去
** char的长度是固定的,比如 name char(5),存值 b,把b存进去,后面加很多空格


大数据类型
BLOB、TEXT
* 使用这个类型可以存储文件,一般开发,不会直接把文件存到数据库里面,存文件的路径


数值型
TINYINT 、SMALLINT、INT、BIGINT、FLOAT、DOUBLE
* 对应java里面
byte       short    int  long    float  double


逻辑性 
BIT
* 类似java里面的boolean


日期型
DATE:用于表示日期 1945-08-15
TIME:用于表示时间 19:10:40

下面的两个类型可以表示日期和时间
DATETIME:手动添加时间到数据表里面
TIMESTAMP:自动把时间添加到表里面


(3)查看表结构
* 语句 desc 表名称;

(4)mysql的约束有三种
第一种,非空约束 not null
* 表示数据不能为空


第二种,唯一性约束 unique
* 表中的记录不能重复的


第三种,主键约束 primary key
* 表示非空,唯一性
* 自动增长 auto_increment


(5)创建带约束的表


(6)删除表
* 语句 drop table 要删除表的名称;


(7)查看当前的数据库里面有哪些表
* 语句 show tables;


7、使用sql对表中的记录进行操作(增删改查操作)
(1)向表里面添加记录 insert
* 语句 insert into 要添加的表名称 values(要添加的值);
* 注意:当添加的字段的数据类型是int类型,直接写值
如果添加的字段的类型是varchar类型和日期类型,使用单引号把值包起来


(2)修改表里面的记录 update
* 语句 update 表名称 set 要修改的字段的名称1=修改的值1,要修改的字段的名称2=修改的值2 where 条件


(3)删除表里面的记录 delete
* 语句 delete from 表名称 where 条件

* 练习:删除user表里面id=1的记录
delete from user where id=1;
** 不添加where条件,把表里面的所有的记录都删除



(4)查询表中的记录 select
* 语句 select 要查询的字段的名称 (*) from 表名称 where 条件


(4)别名
* as 别名
select username as u1,chinese as c1 from user;


(5)distinct,去除表里面重复记录
* 语句 select distinct * from 表名;


(6)where子句
第一,运算符 < > >= <=

第二,in:在范围内


第三,and:在where里面如果有多个条件,表示多个条件同时满足

第四,得到区间范围的值

第五,like:模糊查询



(7)查看当前的运行的数据库
select database();


(8)对表中查询的记录排序 order by
* order by写在select语句的最后
第一,升序 order by 要排序字段 asc(asc可以省略,默认的情况下就是升序)

第二,降序 order by 要排序字段 desc

8、聚集函数
(1)使用提供一些函数,直接实现某些功能
(2)常用的聚集函数
第一,count()函数
* 根据查询的结果,统计记录数
* 写法 select count(*) from ...where....


第二,sum()函数
* 求和的函数
* 写法 select sum(要进行求和字段) from ...where....


第三,avg()函数
* 计算的平均数的函数
* 写法 select avg(要计算平均数的字段名称) from ...


第四,max()函数:计算最大值
* 写法 select max(字段) from...


第五,min()函数:计算最小值
* 写法 select min(字段) from...


9、分组操作
分组使用 group by 根据分组的字段
在分组的基础之上再进行条件的判断 having,后面可以写聚集函数


10、mysql的可视化工具使用
(1)使用工具创建数据库,创建表,向表添加记录,删除表中的记录

11、mysql的关键字limit
(1)limit关键字查询表中的某几条记录
(2)limit关键字不是标准sql的关键字,只能在mysql数据库里面使用,实现分页的功能
* 在oracle里面特有关键字 rownum
* 在sqlserver里面特有关键字 top


(3)使用limit查询前几条记录 
* 写法: limit 前几条记录  limit 3


(4)使用limit查询第几条到第几条记录
* 写法: limit 第一个参数,第二个参数
** 第一个参数开始的记录数的位置,从0开始的
** 第二个参数从开始的位置向后获取几条记录

12、重置mysql的root密码
(1)知道密码,修改密码
第一,连接mysql数据库
第二,切换数据库 mysql  use mysql
第三,进行密码的修改 update user set password=password('要修改成的密码的值') where user='root';
第四,重新启动mysql服务


(2)忘记密码,重置密码
第一,把mysql的服务关闭
第二,打开cmd窗口,输入命令 mysqld --skip-grant-tables(不要加分号)
第三,再打开cmd窗口,连接数据库,不需要输入密码  mysql -u root
第四,切换数据库 mysql  use mysql
第五,进行密码的修改 update user set password=password('要修改成的密码的值') where user='root';
第六,把两个cmd窗口都关闭,打开任务管理器,找到mysqld进程,结束
第七,启动mysql服务



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值