javaweb第一章 mysql数据库 增删改查 IDEA连接并使用数据库

什么是javaweb?

 

Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站

JavaWeb: 是用 Java技术来解决相关web互联网领域的技术栈

数据库相关概念

数据库

存储数据的仓库,数据是有组织的进行存储 英文:DataBase,简称 DB

数据库管理系统

管理数据库的大型软件 英文:DataBase Management System,简称 DBMS SQL

SQL

英文:Structured Query Language,简称 SQL,结构化查询语言

操作关系型数据库的编程语言

定义操作所有关系型数据库的统一标准

常见的关系型数据库管理系统

Oracle:收费的大型数据库,Oracle 公司的产品

MySQL: 开源免费的中小型数据库。后来 Sun公司收购了 MySQL,而 Sun 公司又被 Oracle 收购

SQL Server:MicroSoft 公司收费的中型的数据库。C#、.net 等语言常使用

PostgreSQL:开源免费中小型的数据库

DB2:IBM 公司的大型收费数据库产品

SQLite:嵌入式的微型数据库。如:作为 Android 内置数据库

MariaDB:开源免费中小型的数据库

mysql安装与配置

下载链接:https://downloads.mysql.com/archives/community/

下载完成直接解压就可以了

配置环境变量 :

电脑属性->高级系统设置->环境变量->新建系统变量MYSQL_HOME 把bin目录的路径创建进去

然后找到path变量 新增 %MYSQL_HOME%/bin 就可以了

配置MYSQL 

创建my.ini 配置文件,将下面内容 输入进去并保存,安装目录记得修改成自己的

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
初始化mysql

管理员运行CMD  输入mysqld --initialize --console  就初始化成功了
这时候会告诉你最开始的密码,一定要复制这个密码,然后修改成新密码

mysqladmin -u用户名 -p旧密码 password 新密码 

然后输入mysqld install  安装mysqld
输入net start mysql 就可以启动数据库了
输入net stop mysql 就可以停止数据库了
输入mysql -u root -p登录数据库  

如果不需要使用了  输入 exit 或者quit退出就可以了

Mysql 数据模型

SQL

SQL概述

英文:Structured Query Language,简称 SQL 结构化查询语言,一门操作关系型数据库的编程语言

定义操作所有关系型数据库的统一标准

对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”

SQL通用语法

SQL 语句可以单行或多行书写,以分号结尾。

MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

注释 单行注释: -- 注释内容 或 #注释内容(MySQL 特有) 多行注释: /* 注释 */

SQL分类

DDL(Data Definition Language) 数据定义语言,用来定义数据库对象:数据库,表,列等

DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改

DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)

DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

DDL 定义数据库对象:数据库,表,列等

数据库:

 创建表(Create)

create table tb_user(

id int,

username varchar(20),

password varchar(32)

);

数据类型  

分为三类:数值,日期,字符串

 double(5,2) 表示定义的类型为0-100,  小数点后两位

练习:需求:设计一张学生表,请注重数据类型、长度的合理性

1.编号

2.姓名,姓名最长不超过10个汉字

3.性别,因为取值只有两种可能,因此最多一个汉字

4.生日,取值为年月日

5.入学成绩,小数点后保留两位

6.邮件地址,最大长度不超过 64

7.家庭联系电话,不一定是手机号码,可能会出现 - 等字符

8.学生状态(用数字表示,正常、休学、毕业...)

create table student(

id int,

name varchar(10),

sex char(1),

birthday date,

score double(5,2),

mail varchar(64),

tel varchar(15),

status tinyint

);

先写在记事本上然后复制到cmd就可以了

查询表(Retrieve)

修改表(Update)

删除表(Delete)

 Navicat 安装使用

DML 操作数据

添加(insert)

2:也就是说 给所有列添加数据时可以省略列名

修改数据(update)

UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;

update stu set sex ='女' where name ='张三';

注意:修改语句中如果不加条件,则将所有数据都修改!

删除(delete)

DELETE FROM 表名 [WHERE 条件] ;

注意:修改语句中如果不加条件,则将所有数据都删除!

DQL

基础查询

3:

select name as 名字 from stu;

这时候name就会显示成名字

条件查询

 “并且”一般都用and 不用 &&

“或者”  可以直接不用符号连接,一般用or  

简写:select *from stu where age in(18,20,22);  选择出年龄为18或者20,或者22的学生

注意:null值的比较不能使用=  ,!=  需要使用is  ,is not

select * from stu where english is null;

like模糊查询 _代表单个任意字符 %代表任意个任意字符

查询姓马的学生

select * from stu where name like '马%';

查询第二个字是花的学生

select * from stu where name like '_花%';

查询名字中包含德的学生

select * from stu where name like '%德%';

排序查询(order by)

查询学生信息,按照数学成绩降序排列,如果数学成绩一样,再按照英语成绩升序排列

select * from stu order by math desc,english asc;

聚合函数

统计班里所有学生

select count(id) from stu; 

count 统计的列名不能为null  一般括号里我们填 主键或者* 

分组查询(group by)

1.查询 男同学和女同学的各自平均分

select sex,avg(math) from stu group by sex;

2.查询男同学跟女同学的数学各自平均分,低于70分的不参与分组

select sex ,avg(math),count(*) from stu where math >70 group by sex;

3.查询男同学跟女同学的数学各自平均分,低于70分的不参与分组,分组之后人数需要大于2

select sex ,avg(math),count(*) from stu where math >70 group by sex having count(*) >2;

分页查询(limit)

 select * from stu limit 0,3;  每页显示三条数据,查询第一页

select*from stu limit 3,3 每页显示三条数据 查询第二页数据

所以公式  起始索引= (当前页码-1)*每页显示条数

小结:

IDEA 连接并使用数据库  

IDEA右边栏有个database 

点击加号  选择mysql 得到以下画面

 

填好用户名跟密码,以及对应的数据库 就可完成连接

连接好后 可以直接在控制台运行语句

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值