数据库(mysql)

Android 数据库

数据库使用场景

有大量结构相似的数据需要保存的时候
【短信,联系人,聊天记录】

数据库分类

网状型数据库

层次型数据量

关系型数据库
特点:数据可以使用一个二维表来表示

  • 需求分析 E-R图

常见关系型数据库产品:

  • sql server 微软 中小型数据库产品
  • oracle 甲骨文 大型数据库产品 银行 通信公司
  • db2 IBM 大型数据库产品
  • mysql
  • SQLite android

MySQL的安装

该部分内容不是重点,自行百度安装即可。

点击获取MySQL安装包+文档

如何访问MySQL Server

SQL语言

  • Structured Query Language 结构化查询语言(每个单独的语句都会返回一个结果)
  • 非过程性语言(例如:编程语言)
  • SQL是用来存取关系型数据库语言,具有查询,操纵,定义和控制关系型数据库的四个方面功能

分类

  • DDL (数据定义语言)数据定义语言 - Data Definition Language用来定义数据库的对象,如数据表、视图、索引等
  • DML (数据操纵语言)数据处理语言 - Data Manipulation Language在数据库表中更新,增加和删除记录如 update, insert, delete
  • DCL (数据控制语言)数据控制语言 – Data Control Language指用于设置用户权限和控制事务语句如grant,revoke,if…else,while,begin transaction
  • DQL (数据查询语言)数据查询语言 – Data Query Language select

使用SQL操作数据库

启动数据库

mysql.server start
在这里插入图片描述

连接数据库

mysql -u root -p 密码
在这里插入图片描述

创建数据库

create database 数据库名称;
在这里插入图片描述

查看所有数据库

show databases;
在这里插入图片描述安装好MySQL后会默认创建4个数据库
数据库一: information_schema
保存了跟mysql相关的元数据 (meta data) 表名字 字段名字
数据库二: mysql
保存了mysql 的用户信息 权限相关的信息
数据库三:performance_schema
保存了mysql再运行的时候产生的一些日志
数据库四:test
注意:前三个数据库 不要手动修改或者删除

删除数据库

drop database 删除数据库的名称;
在这里插入图片描述

切换数据库

use 切换数据库的名称;
在这里插入图片描述

查看当前使用哪一个数据库

select database();
在这里插入图片描述

MySQL常用的数据类型

  • 字符串型

VARCHAR,CHAR
例如:varchar(20)
varchar和char区别:varchar如果输入的字段内容长度没有达到上限个数只会占用字段的长度所占用的长度。char(20)申明多少长度就会占用多少长度,不管当前字段占用多长。

  • 大数据型

BLOB,TEXT
BLOB:非文本类型大数据
TEXT:文本类型大数据

  • 数值型

TINYINT,SMALLINT,INT,BIGINT,FLOAT,DOUBLE
TINYINT 等同byte
SMALLINT 等同 short
BIGINT 等同long

  • 逻辑型

BIT
BIT 等同 boolean

  • 日期型

DATE,TIME,DATETIME,TIMESTAMP
DATE:日期
TIME:时间
DATETIME:日期和时间
TIMESTAMP:时间戳(插入数据的时间)

使用SQL操作数据库表

  1. 创建表
create table 表名称{
字段 类型,
字段 类型
};

在这里插入图片描述
2. 参看表结构

show tables;  查看单前数据库所有的表
desc 表名称;

在这里插入图片描述
3. 删除表

drop table 表名称;

在这里插入图片描述
4. 参看当前数据库所有的表

show tables;

在这里插入图片描述

操作数据库表记录

  1. 插入记录

insert into 表名 values(要添加的值);
如果添加的字段数据类型是int类型,直接写值,
如果添加的字段数据类型是varchar类型和日期类型,要使用单引号把值包起来

  1. 修改记录

update 表名 set 字段名1=值1,字段名2=值2 where 条件;

  1. 删除记录

delete from 表名 where 条件;
delete from 表名 (删除所有表记录)

  1. 查询记录

select 字段名(*)as 别名 from 表名 where 条件;

  1. 去除表中重复的记录

select distinct * from 表名;
只是把查询到相同的去掉,并不是删掉表中的重复数据

使用案例:
在这里插入图片描述

MySQL的约束

  1. 非空约束 not null

    • 表示数据不能为空
  2. 唯一性约束 unique

    • 表中的记录不能重复
  3. 主键约束

    • 表示非空,唯一性
    • 自动增长 auto_increment

如图所示:
在这里插入图片描述

Where条件以及排序

  1. where 使用
    1.运算符 <,>,>=,<=
    2.in 在范围内 具体的某个值
    3.and 条件同时满足
    4.like 模糊查询

操作的表结构和数据:
在这里插入图片描述

>,<,>=,<= 以及in的使用
在这里插入图片描述
and 和 like的使用
百分号:任何字符
在这里插入图片描述
对查询的结果排序
1.order by 字段名 asc 升序
2.order by 字段名 desc 降序

在这里插入图片描述

聚合函数的使用

  1. count()函数;
    例子:查看android > 70 的 有多少个

在这里插入图片描述

  • sum()函数;
    例子:计算android的总和

在这里插入图片描述

  • avg()函数;
    例子:平均数

在这里插入图片描述

  • max()函数;
    例子:最大值

在这里插入图片描述

  • min()函数
    例子:缺省。
分组查询【注意关键字】

使用的数据表:
在这里插入图片描述

  1. 分组求和
    select sum(price),name from myorders group by name;
    相同的名字作为一组!

在这里插入图片描述
select sum(price),name from myorders group by name having sum(price)>8000;
分组后的价格大于8000的!

在这里插入图片描述

limit关键字
可以控制查询结果返回的条目数量,实现分页查询!
  1. select * from myorders limit 2; //展示2条数据
  2. select * from myorders limit 3,3; //展示从第3+1条数据,显示3条

如下图:
在这里插入图片描述

mysql 图形界面工具

Mac版本 》》点击跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猿成长

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值