【JavaWeb_Part01】入门 MySQL 数据库

开篇

老一套,开篇我们先来闲聊一番?问你们个问题,有人不知道数据库是干嘛用的么?如果你不知道,请自行 google, 如果你不能翻墙,请自行百度。如果不会百度,那我去自杀了。

数据库自然是 hin 重要的啦,所以就不说那么多废话了。直接甩出几个名词,恶心恶心你们,反正不能只恶心我一个,要恶心就一起恶心。这些个概念并不是那么重要,大概了解一下就好。

1. 什么是数据库

往简单了说,数据库就是一个文件系统,需要通过标准 SQL 语句才能访问。那么常见的数据库有哪些呢?

2. 常见的数据库

MySQL :开源免费的数据库,小型的数据库。已经被 Oracle 收购了,并且从 MySQL6.x 版本开始收费。
Oracle :收费的大型数据库。Oracle 公司的产品。Oracle收购SUN公司,收购MySQL。一个成语来形容,财大气粗。
DB2 :IBM公司的数据库产品,同样也是收费的。并且应用场景大部分都是在银行系统中运用。
SQLServer:这个就是微软爸爸的产品咯。收费的中型的数据库。
SyBase :已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。不用去过多关注了解。
SQLite : 嵌入式的小型数据库,应用在手机端。做 android 开发的没有不知道这个东西的吧?如果不知道,请自行面壁思过。

以上就是一些市面上常见的数据库,虽然有那么多,但是我们现阶段重点需要掌握的也就只有 MySql 以及 Oracle,同样和 Java 有关系的也只有这两个。

3. 关系型数据库

见名知意吧,数据库中存的实体和实体之间的关系。

4. 关于 MySQL数据库

  1. 数据库是表的集合,具有相关数据。
  2. 表是数据矩阵,类似于一个简单的电子表格。
  3. 列是包含一组相同类型的数据。
  4. 行是一组相关的数据。
  5. 主键是唯一的,不能在一个表中出现两次或者多次,使用主键可以快速找到一行数据。
  6. 外键是两个表之间的连接值。
  7. 复合键是由多列组成,主要用于某些时候单列不能唯一标识该数据。
  8. 索引类似于书的目录。

准备工作

1. MySQL 的卸载和安装

这个就没什么可讲的了。不会的去百度,一搜一大把。

2. MySQL的 SQL 语句

Q:什么是 SQL 语句?
W:结构化查询语言。

3. SQL 的分类

DDL: 数据定义语言
create,alter,drop…
DML: 数据操纵语言
insert,delete,update
DCL: 数据控制语言
if,grant
DQL: 数据查询语言
select

MySQL 实操

1. 数据库登录退出

1.1 登录
mysql -uroot -pxxx    //xxx表示数据库的密码
1.2 退出
exit

2. 数据库的增删改

2.1 创建数据库
create database xxx;    //xxx表示数据库名称
2.2 删除数据库
drop database xxx;    //xxx表示数据库名称
2.3 显示全部数据库
show databases;   
2.4 选择数据库
use xxx;   //xxx表示数据库名称
select database(); //查看正在使用的数据库

查看正在使用的数据库

show create database 数据库名称;  //查看某个数据库的定义信息

查看创建的数据库的定义信息

3. 数据库表的相关操作

3.1 创建数据库表
create table user( //这里我取名表名为 user
    int id not null auto_increment,
    name varchar(20) not null,
    sex varchar(2) not null,
    age int not null,
    primary key(id)
);
3.2 删除数据库表
drop table user; //user 为表名
3.3 查看表结构
desc user; //user 为表名
3.4 显示全部表
show tables;

4. 数据库表的数据操作

4.1 插入数据
//这里以表 user 为例
insert into user (id, name, sex, age) values(1, "幼儿园长", "M", 20);
4.2 查询数据
//查询全部数据
select * from user;//查询表中的全部数据

查询全部

//条件查询
select field1, field2,... from table_name where condition1, condition2,... limit n;

注意:

可以使用逗号分隔查询多个表
可以在 select 关键字后面指定查询多个字段,如果用 * 代替,则表示查询全部
可以在 where 关键字后面指定多个查询条件
可以用 limit 关键字后面加上数字,表示查询满足条件的前 n 条数据
可以使用 and 或者 or 关键词连接条件

//使用 where 执行单个条件查询
select * from user where name = "荆小六";

单个条件查询

//使用where指定多个条件查询
select * from user where name = "荆小八" and sex = "M" and age > 10;

多个条件查询

//使用limit关键字限制查询结果条数
select * from user where sex = "M" and age > 10 limit 3;

使用limit关键字限制返回结果条数

//查询单个字段
select name from user where age > 15;

查询单个字段

//查询多个字段
select name, sex from user where sex = "M";

查询多个字段

4.3 更改表中数据
update table_name set field1 = new_value1, field2 = new_value2,...where condition1, condition2,...
//将 name 属性为“宇文席”更改成“老贱人”
update user set name = "老贱人" where name = "宇文席";

更新表字段

更新多个值的方式和查询一样,这里就不在赘述。

4.4 删除表中数据
delete from table_name where condition1, condition2,...

注意:

如果不指定条件则会删除整个表中的数据
可以一次删除以个表中多条数据
可以指定多个删除条件

//删除 name 属性为 “老贱人”这条数据
delete from user where name = "老贱人";

删除单条数据

//根据多个条件删除数据
delete from user where sex = "M" or age > 20;

根据多个条件删除数据

5 其他关键字

5.1 like 关键字(模糊查询)
select field1, field2,...from table_name where field like condition and/or field = "value";
根据属性值为 name = “x小x” 进行模糊查询数据
select * from user where name like "%小%";

根据“小”进行模糊查询

//查询多条属性
select name, sex from user where name like "%小%";

模糊查询多条属性

//和 and/ or 关键字结合使用
select name, sex from user where name like "宇文%" and age > 18 and sex = "F";

多种条件结合查询

5.2 Order By 关键字(排序)
select field1, field2,... from table_name where condition1, condition2,...order by field ASC;

注意:

可以使用关键字 ASC 或 DESC 来执行升序或降序排序。默认情况下,按升序排列
可以使用 where … like 子句以通用的方式放置条件
可以在多个字段排序结果

//先来个最简单的
select * from user order by age asc; //按年龄升序排列

按年龄升序排列

按年龄降续排列

//多种条件结合查询
select name, sex from user where name like "宇文%" and age > 20 order by age;  

多种条件结合查询

结语

好了,这篇文章的笔记就做到这里,还有一些关键字没有讲,比如 join in,alter 等,再讲下去篇幅就比较大了,所以这本文章就到这里收尾了。能力有限,写出来的东西难免会有错误,如果出现了错误,还劳烦各位大神不吝赐教,也欢迎各位与我留言讨论。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值