转载请注明出处:https://blog.csdn.net/mythmayor/article/details/72781451

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的安装步骤
具体安装步骤不在此赘述,可参考:

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)创建数据库表
* 语句 create table 表名称 (字段 类型,字段 类型)* 创建表 user,字段  id  username  password  sex
create table user (id int,username varchar(40),password varchar(40),sex varchar(30)
)(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)创建带约束的表
create table person (id int primary key ,username varchar(40) not null,sex varchar(20)
)

(6)删除表
* 语句 drop table 要删除表的名称;(7)查看当前的数据库里面有哪些表
* 语句 show tables;(8)添加字段:alter table 表名 add column 字段名称 字段类型;修改字段名称:alter table 表名 change 旧字段名称 新字段名称 字段类型;删除字段:alter table 表名 drop column 字段名称;

7、使用sql对表中的记录进行操作(增删改查操作)

(1)向表里面添加记录 insert
* 语句 insert into 要添加的表名称 values(要添加的值);
* 注意:当添加的字段的数据类型是int类型,直接写值
如果添加的字段的类型是varchar类型和日期类型,使用单引号把值包起来* 练习:向user表里面添加记录
insert into user values(1,'aaa','123456','nan');insert into user(id) value(5);
* 自动增长的效果
** 创建一个表
create table stu (id int primary key atuo_increment,sname varchar(40)
)
insert into stu values(null,'aaa');(2)修改表里面的记录 update
* 语句 update 表名称 set 要修改的字段的名称1=修改的值1,要修改的字段的名称2=修改的值2 where 条件* 练习:修改user表里面id=1的username修改为QQQ,修改password为999
update user set username='QQQ',password='999' where id=1;(3)删除表里面的记录 delete
* 语句 delete from 表名称 where 条件* 练习:删除user表里面id=1的记录
delete from user where id=1;
** 不添加where条件,把表里面的所有的记录都删除(4)查询表中的记录 select
* 语句 select 要查询的字段的名称 (*) from 表名称 where 条件* create table user (id int,username varchar(40),chinese int,english int
)* insert into user values(1,'lucy',100,30);
insert into user values(2,'mary',60,80);
insert into user values(3,'jack',90,20);* 练习一:查询user表里面的所有的数据
select * from user;* 练习二:查询user表里面用户名和语文成绩
select username,chinese from user;* 练习三:查询user表里面id=2的数据
select * from user where id=2;(4)别名
* as 别名
select username as u1,chinese as c1 from user;(5)distinct,去除表里面重复记录
* 语句 select distinct * from 表名;(6)where子句
第一,运算符 < > >= <=
* 练习:查询user表里面语文成绩大于60的所有的人员
select * from user where chinese > 60;第二,in:在范围内
* 练习:查询user表里面英语成绩是80、90的人员的信息
select * from user where english in (80,90);第三,and:在where里面如果有多个条件,表示多个条件同时满足
* 练习:查询user表里面语文成绩是100,并且英语成绩是30的人员的信息
select * from user where chinese=100 and english=30;第四,得到区间范围的值
* 练习:查询user表里面语文成绩在70-100之间的值
写法一,select * from user where chinese >=70 and chinese <=100;
写法二,select * from user where chinese between 70 and 100;第五,like:模糊查询
* 练习:查询user表里面username包含a的人员信息
select * from user where username like '%a%';(7)查看当前的运行的数据库
select database();(8)对表中查询的记录排序 order by
* order by写在select语句的最后
第一,升序 order by 要排序字段 asc(asc可以省略,默认的情况下就是升序)
* 练习:对user表里面查询的数据,根据语文成绩进行升序排列
select * from user order by chinese asc;第二,降序 order by 要排序字段 desc
* 练习:对user表里面的英语成绩进行降序排列
select * from user order by english desc;

8、聚集函数

(1)使用提供一些函数,直接实现某些功能
(2)常用的聚集函数
第一,count()函数
* 根据查询的结果,统计记录数
* 写法 select count(*) from ...where....* 练习一;查询user表里面有多少条记录
select count(*) from user;* 练习二:查询user表里面语文成绩大于60的人员有多少
select count(*) from user where chinese>60;第二,sum()函数
* 求和的函数
* 写法 select sum(要进行求和字段) from ...where....* 练习一:得到user表里面的语文的总成绩
select sum(chinese) from user;* 练习二:得到user表里面语文总成绩,英语的总成绩
select sum(chinese),sum(english) from user;* 练习三:得到user表里面语文成绩的平均分(总的成绩/总的人数)select sum(chinese)/count(*) from user;第三,avg()函数
* 计算的平均数的函数
* 写法 select avg(要计算平均数的字段名称) from ...* 练习:得到user表里面语文成绩的平均分
select avg(chinese) from user;第四,max()函数:计算最大值
* 写法 select max(字段) from...第五,min()函数:计算最小值
* 写法 select min(字段) from...* 练习:得到user表里面语文成绩的最高分数,英语的成绩最低分数
select max(chinese),min(english) from user;

9、分组操作

分组使用 group by 根据分组的字段
在分组的基础之上再进行条件的判断 having,后面可以写聚集函数
(1)举例说明
* 创建表 orders
create table orders (id int,name varchar(40),price int
)insert into orders values(1,'电视',2000);
insert into orders values(2,'电视',2000);
insert into orders values(3,'苹果',10);
insert into orders values(4,'手机',500);
insert into orders values(5,'手机',500);
insert into orders values(6,'鼠标',33);
insert into orders values(7,'鼠标',33);(2)练习一:统计orders表里面每类商品的总的价格
select name,sum(price) from orders group by name;(3)练习二:对商品进行分类,得到每类商品的总价格大于66的商品
select name,sum(price) from orders where sum(price)>66 group by name;
= 上面的语句在逻辑上没有问题,在语法上,where里面不能写聚集函数,报错
正确的写法:
select name,sum(price) from orders group by price having sum(price)>66;

10、mysql的可视化工具使用

(1)使用工具创建数据库,创建表,向表添加记录,删除表中的记录

11、mysql的关键字limit

(1)limit关键字查询表中的某几条记录
(2)limit关键字不是标准sql的关键字,只能在mysql数据库里面使用,实现分页的功能
* 在oracle里面特有关键字 rownum
* 在sqlserver里面特有关键字 top(3)使用limit查询前几条记录
* 写法: limit 前几条记录  limit 3
* 练习:查询user表里面前三条记录(4)使用limit查询第几条到第几条记录
* 写法: limit 第一个参数,第二个参数
** 第一个参数开始的记录数的位置,从0开始的
** 第二个参数从开始的位置向后获取几条记录
* 练习:查询user表里面第二条到第四条记录

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服务

JavaWeb - 数据库,MySQL安装卸载,MySQL服务器存储结构,sql语言,使用sql操作数据库/数据库表/表中记录,聚集函数,分组操作,limit关键字,重置root密码相关推荐

  1. centos7卸载mysql数据库,CentOS7 安装卸载MySQL

    [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm ...

  2. MySQL数据库教程天花板,mysql安装到mysql高级,强|硬

    MySQL数据库笔记 第一部分 MySQL基础篇 第01章 数据库概述 1. 为什么要使用数据库 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业 ...

  3. MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版(自用不可外传)

    文章目录 MySQL数据库笔记 第一部分 MySQL基础篇 第01章 数据库概述 1. 为什么要使用数据库 2. 数据库与数据库管理系统 2.1 数据库的相关概念 3. RDBMS与非RDBMS 3. ...

  4. MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版

    MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版(自用不可外传) 文章目录 MySQL数据库笔记 第一部分 MySQL基础篇 第01章 数据库概述 1. 为什么要使用数据库 ...

  5. centos mysql卸载重装_centos 7.x 安装/卸载MySQL

    centos 7.x 安装/卸载MySQL 本篇是基于YUM Repository来安装MySQL的,具体方法在官网可寻,在此记录我的亲身安装过程. 1.安装必要的依赖组件 运行如下命令: yum i ...

  6. yum卸载mysql_yum 安装卸载mysql

    以前做过yum安装卸载mysql的笔记,现在整理到网上,希望对需要的朋友有所帮助 1.下载YUM库 wget http://dev.mysql.com/get/mysql57-community-re ...

  7. Linux下yum方式安装mysql 以及卸载mysql

    安装方法一(安装之前请确保已经卸载mariadb) 1.安装rpm包 直接使用yum -y install 命令安装mysql是无法安装mysql的高级版本,需要先安装带有可用的mysql5系列社区版 ...

  8. 【02】Java进阶:18-MySQL基础、数据库概述、数据库的安装/卸载/启动/登录、SQL概述、DDL操作数据库、DDL操作表、DML增删改查、

    day18-MySql基础 今日内容 数据库概述 数据库安装和卸载 SQL语句 DDL-----操作数据库,操作表 DML-----操作记录(增删改) DQL------操作记录(查) 学习目标 能够 ...

  9. 如何在MySQL中导入和导出数据库并重置root密码

    英文原作者:Etel Sverdlov  翻译&转载来源:https://www.digitalocean.com/community/tutorials/how-to-import-and- ...

最新文章

  1. java十四章带参方法课后_java14带参的方法
  2. 计算机与人脑_看!自行车成精了...清华网红自行车:拥有“类人脑芯片”,可无人驾驶...
  3. 1-5Badboy添加检查点和参数化
  4. 安装apache重启的时候,报错端口被占用,错误1
  5. 主板检测卡c5_用诊断卡 搞定主板故障
  6. 赛思互动:管理学最重要的八大定理
  7. 上翻图片轮播特效代码 缓存应用
  8. 一个Java开发h5牌九棋牌网站开发细节
  9. 使用EndNote在Word中插入参考文献的格式设置
  10. FTP上传成功之后却查找不到文件
  11. 如何打开sql server配置管理器
  12. 研发管理系列课程--2022年深圳产品平台与CBB技术管理
  13. mysql表分区 php_MySQL——表分区
  14. 基于 HTML5 + WebGL 的宇宙 3D 展示系统
  15. web应用使用skype教程
  16. 中国生态足迹与生物承载力数据(1961-2016年)
  17. java国密 C#国密 golang国密 NodeJS国密汇总(三)
  18. 北大原题 我爱你啊 字符串处理
  19. weex android 简书,Weex Extend
  20. z-index的属性

热门文章

  1. BCELoss和BCEWithLogitsLoss的区别
  2. redis搭建集群,拒绝连接问题解决
  3. 通信基础 10 —— 最小均方误差(MMSE)
  4. IDEA无法解析Longblob类型
  5. AR161W 路由设置概要
  6. 米联客 ZYNQ/SOC精品教程 S01-CH07 FPGA多路分频器实验
  7. 14-18、物理层--物理层定义的标准,数据通信基础知识,常用编码格式,香农定律和乃奎斯特定律,数据通信基础知识总结
  8. 排列问题(递归算法)
  9. P5.js开发之——通过createImg向页面中添加图像
  10. 完全的定制按钮实现,不浮夸!