您当前的位置: 首页 >  Java

彭世瑜

暂无认证

  • 0浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java学习路线-41:数据库及SQL/MySQL基础

彭世瑜 发布时间:2020-02-08 17:13:26 ,浏览量:0

数据库及SQL/MySQL基础 课时1 数据库概述

1、常见数据库 Oracle 甲骨文 DB2 IBM SQL Server 微软 Sybase 赛尔斯 MySQL 甲骨文

2、理解数据库 RDBMS = Manager + Database Relational Database Management System 关系型数据库管理系统

Database = N 个 Table Table: 表结构、表记录

课时2 Java应用与数据库的关系

课时3-4 安装/删除MySQL

安装路径不要有中文

MAC brew安装/卸载mysql

$ brew install mysql

$ brew uninstall mysql
课时5 MySQL安装路径以及配置信息

mysqld 服务端 mysql 客户端

课时6 开启关闭服务器以及登录退出客户端

mysql启动/关闭服务

$ mysql.server start

$ mysql.server stop

登录退出客户端

# 登录
$ mysql -uroot -p

# 查看数据库
> show databases;

# 退出
> exit/quit;
课时7 SQL语言的概述

SQL Structured Query Language 结构化查询语言

SQL方言 某些数据库的独有语法, 例如:limit语句只在MySQL中使用

SQL语法 1、单行或多行书写,分号结尾 2、可以使用空格或缩进增强可读性 3、MySQL不区分大小写,建议使用大写

SQL语句分类

简称全称中文说明DDLData Definition Language数据定义语言定义库、表、列结构DCLData Control Language数据控制语言定义访问权限和安全级别DMLData Manipulation Language数据操作语言操作数据,增、删、改DQLData Query Language数据查询语言查询数据 课时8 DDL(数据定义语言)之操作数据库
-- 查看所有数据库:
show databases;

-- 选择数据库:
use ;

-- 创建数据库:
create database [if not exists]  [charset=utf8];

-- 删除数据库:
drop database [if exists] ;

-- 修改数据库编码:
alter database  character set utf8
课时9-10 数据类型介绍

int 整型 double 浮点型,例如 double(5, 2) 表示最多5位,其中2位小数,即最大999.99 decimal 浮点型,货币使用,不会出现精度缺失 char 定长字符串,char(255),长度不足指定长度会补足到指定长度,比变长节省空间 varchar 变长字符串 varchar(65535)

text(clob) 字符串 tynytext(255B), text(64K), mediumtext(16M), longtext(4G)

blob 字节类型 tynyblob(255B), blob(64K), mediumblob(16M), longblob(4G)

date 日期 yyyy-MM-dd time 时间 hh:mm:ss timestamp 时间戳

课时11 DDL(数据定义语言)之操作表

1、创建表, 注意最后一列没有逗号

create table [if not exists] (
     ,
    ...
     
);

eg:

-- 创建数据库
create database school;

-- 切换数据库
use school;

-- 创建数据表
create table tb_stu(
    number char(11),
    name varchar(50),
    age int,
    gender varchar(10)
);

-- 查看当前数据库中所有表
show tables;

-- 查看指定表的创建语句
show create table tb_stu;
show create table stu \G
d
-- 查看表结构
desc tb_stu;

-- 删除表
drop table ts_stu;

show tables;

2、修改表

-- 前缀
alter table  

-- 添加列
alter table  add (
     ,
    ...
     
);

-- 修改列类型
-- 如果已存在数据,新类型可能会影响到已存在数据
alter table  modify 列名 列类型;

-- 修改列名称
alter table  change 原列名 新列名 列类型;

-- 删除列
alter table  drop 列名;

-- 修改表名
alter table 原表名 rename to 新表名;
课时12-13-14 DML(数据操作语言)

查询所有记录

select * from ;

1、插入数据

insert into (列名1, 列名2,...) values(列值1, 列值1,...);

没有指定的列等同于插入默认值 值的顺序与指定列顺序对应 列名可省略(不建议)

字符串类型使用单引号,不能使用双引号 日期类型也要使用单引号

2、修改数据

update 表名 set 列名1=列值1, 列名2=列值2,...[where条件]

条件必须是一个boolean类型的值或表达式 运算符:=、!=、、>、=、0 -- (4)列别名 select name as 姓名 from table; select name 姓名 from table; 课时17 DQL(数据查询语言)之条件查询

使用where子句控制记录

select * from table where salary>500;
select * from table where name in ('李白', '杜甫');
select * from table where salary between 200 and 500;
课时18 DQL(数据查询语言)之模糊查询

下划线_代表一个字符 百分号%代表[0,n]个字符

select * from table where name like '张_';
select * from table where name like '张%';
课时19 DQL(数据查询语言)之排序

默认升序排序

-- 升序 默认, asc可省略
select * from table order by id asc;

-- 降序
select * from table order by id desc;

-- 多列排序
select * from table order by salary asc, id desc;
课时20 DQL(数据查询语言)之聚合函数
-- 统计有效行数,整行全是null不计数
select count(*) from table;

-- 统计不是null的行数
select count(id) from table;

-- 求和
select sum(salary) from table;

-- 最小值
select min(salary) from table;

-- 最大值
select max(salary) from table;

-- 平均值
select avg(salary) from table;

select count(*) 人数, 
sum(salary) 总和, avg(salary) 平均值,
max(salary) 最高,  min(salary) 最低 
from table;
课时21 DQL(数据查询语言)之分组查询
select job, count(*) from table group by job;

-- 先过滤再分组
select job, count(*) from table where salary > 1500 group by job;

-- 先过滤,再分组,再对分组结果过滤
select job, count(*) from table where salary > 1500 group by job having count(*)  >= 2;
课时22 DQL(数据查询语言)之limit方言

计算公式:

跳过行数 = ( 当前页 - 1 ) * 每页记录数
select * from table limit count;
select * from table limit count OFFSET offset;
select * from table limit offset, count;
关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.1140s