数据库(mysql)

Android 数据库

目录

    • 数据库使用场景
    • 数据库分类
    • MySQL的安装
    • 如何访问MySQL Server
      • SQL语言
      • 分类
      • 使用SQL操作数据库
      • MySQL常用的数据类型
      • 使用SQL操作数据库表
      • 操作数据库表记录
      • MySQL的约束
      • Where条件以及排序
      • 聚合函数的使用
        • 分组查询【注意关键字】
        • limit关键字
    • mysql 图形界面工具

数据库使用场景

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

数据库分类

网状型数据库

层次型数据量

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

  • 需求分析 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 密码
数据库(mysql)_第1张图片

创建数据库

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

查看所有数据库

show databases;
数据库(mysql)_第2张图片安装好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)_第3张图片

MySQL的约束

  1. 非空约束 not null

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

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

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

如图所示:
数据库(mysql)_第4张图片

Where条件以及排序

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

操作的表结构和数据:
数据库(mysql)_第5张图片

>,<,>=,<= 以及in的使用
数据库(mysql)_第6张图片
and 和 like的使用
百分号:任何字符
数据库(mysql)_第7张图片
对查询的结果排序
1.order by 字段名 asc 升序
2.order by 字段名 desc 降序

数据库(mysql)_第8张图片

聚合函数的使用

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  • min()函数
    例子:缺省。

分组查询【注意关键字】

使用的数据表:
数据库(mysql)_第9张图片

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

数据库(mysql)_第10张图片
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)_第11张图片

mysql 图形界面工具

Mac版本 》》点击跳转

你可能感兴趣的:(Android,数据库,MySQL)