数据库简介,存储方式,操作指令

 

目录

1.什么是数据库?

2. 常见数据库

3. 存储数据的方式

4.数据库的操作指令

4.1增

4.2删

4.3改

4.4查(重点)

4.5其他指令

where 条件(运算符表)

4.6 排序

4.7 分组查询

4.8limit 设置查询条数

4.9  join


1.什么是数据库?

  • 数据库(database)是用来组织存储管理数据的仓库。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。

2. 常见数据库

  • (1)MySQL 数据库,目前使用最广泛、流行度最高的开源免费数据库

  • (2)Oracle 数据库,收费 安全性是最好的

  • (3)SQL Server 数据库,收费

  • 以上三种属于传统型数据库,又叫做:关系型数据库 ,这三者的设计理念相同,用法比较类似。

3. 存储数据的方式

  • 存储数据 的 方式 就是 数据以什么格式进行存储

3.2 excel分类存储

计算机中的数据,经常使用类似Excel 表的结构进行管理。每个 Excel 中,数据的组织结构分别为工作簿、工作表、数据行、列这 4 大部分组成。如图:

所有数据都以表格的形式组织 目的是可读性强。

一个表包括行和列

行称为 数据/记录 (data)

列称为 字段。(column)

mysql数据库 也是使用excel格式 对数据进行存储

  • 一个数据库 对应一个excel工作簿(excel文件)

  • 数据库中 可以包含多个数据表(对应excel中的工作表)

  • 每个数据表中 也是通过行和列 来进行数据的存储的

  • 行被称为 数据/记录 列被称为字段

3.3安装mysql 参见 word文档

3.4安装数据可视化工具 navicat

3.5navicat链接mysql

  • 1.打开navicat 点击左上角的连接按钮

  • 2.在新建的连接中 新建数据库

  • 3.在数据库中新建数据表

  • 4.新建数据表

    • 右击 表选项 选择新建表 就会弹出一个设计表的界面

  • 5.数据表的设计

    • 数据类型

      • tinyint 整形 0-255 字节

      • smallint 整形 0-65535

      • int 整形 0 - 4 294 967 295

      • date 时间 yyyy-mm-dd (不常用,一般存储时间戳)

      • char(n) 定长字符串 0-255 设置固定长度 比如手机号11位

      • varchar 变长字符串 0-65535

      • text 长文本数据

    • 数据表的设计规则

      • 1.尽量使用小写名称不要使用一些可能是关键字的名称 table database

      • 2.我们可以用 姓名+下划线来避免出现关键字 l_table 表的第1个字符+下划线

      • 3.一个表中100% 会有一个id的。这个id会设置成主键,是int类型 额外设置(不为null,自动增长)

        • 主键:为了确保每条数据具有唯一性

        • 注意:主键在每一个数据表中 只能有一个

      • 4.编写表

  • 6.存储数据表

    • 我们写好的数据表 可以导出为 sql文件(后缀名为.sql的文件)进行保存

    • 具体操作方法为

      • 1.右击要转储的数据表

      • 2.在下拉菜单中 选择 转储sql文件

      • 3.在子菜单中 选择结构和数据

    • 之后 如果其他开发者需要使用我们的数据表 就可以直接获取我们的sql文件 并在navicat中运行sql文件 即可加载出我们之前写好的表

    • 具体操作方法为

      • 1.右击数据库中的 表 选项

      • 2.选择菜单中的 运行sql文件

      • 3.在对话框的地址栏中 选择要运行的sql文件

4.数据库的操作指令

sql语句简介

  • SQL(英文全称:Structured Query Language)是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让我们以编程的形式,操作数据库里面的数据。

4.1增

insert into 表名 (字段名1,字段名2,字段名3,...) values ("值1","值2","值3",...)
作用:在指定的表中 插入一条数据(行)  这条数据中各个字段的对应值 为 后面设置的值
​
例如:insert into heroes (name,gender,skills) values ("赵云","男","xxxx")

4.2删

delete from 表名 where 条件
作用:从指定表名的表中 删除 满足条件的数据(行)
​
例如:delete from heroes where id="5"

4.3改

UPDATE 表名 SET 字段名1 = 值1,字段名2 = 值2 ,... [WHERE 条件]
作用:将指定表名的表中 满足条件的数据 进行更新   更新的方式就是 在set后面 将所有指定的字段 的值 设置为指定的值
​
update heroes set siklls="三英战吕布" where gender="男"

4.4查(重点)

SELECT * FROM 表名     作用:查询指定表中 所有数据
例如:select * from heroes
​
SELECT 字段名1,字段名2,... FROM 表名   作用:查询指定表中 指定字段的数据
例如:select id,name from heroes 
​
限制条件的查询
SELECT 字段名1,字段名2,... FROM 表名 where 条件   作用:查询指定表名的表中满足条件的数据中指定字段的数据
  • 起别名

    • SELECT 字段名1 as 别名,字段名2,... FROM 表名
      作用查询指定表中指定字段的数据 并在展示出来的时候 字段名会替换为指定的别名
      ​
      例如:select id,name,role_tese_voice as 特色语音 from heroes

  • 拼接

    • SELECT 字段名1,concat(字段名2,"要拼接的内容"),... FROM 表名
      作用:查询指定表的指定字段的数据 并在字段2的数据后面 拼接指定的内容
      ​
      例如:select concat(name,"-三国") as name,gender,skills from heroes
      注意:在拼接的时候 一定要记得起别名 否则 查询出来的数据的字段名 会设置为concat(name,"-三国")

4.5其他指令

  • where 条件(运算符表)

  • 实例代码

    • where 字段名 = 值 表示设置条件为 字段名必须要等于 指定的值 where 字段名 != 值 表示设置条件为 字段名必须要不等于 指定的值 至于> < >= <=等 都和上述运算符差不多

    • between

      • where 字段名 between 值1 and 值2
        表示设置条件为 在值1 和 值2 之间都可以满足条件  包括值1 值2

    • like

      • 主句 WHERE 字段名 LIKE 'a%'  -- 在某个列中查询以a为开头的数据
        主句 WHERE 字段名 LIKE '%a' --  在某个列中查询以a为结尾的数据
        主句 WHERE 字段名 LIKE '%a%' -- 在某个列中查询包含a的数据

    • and和or

      • where 条件1 and 条件2   表示操作两个条件都满足的数据
        select id,concat(name,"-三国") as name,gender,skills from heroes where name like "%张%" and name like "%关%"
        where 条件1 or 条件2  表示操作两个条件中 能满足任意一个的数据
        select id,concat(name,"-三国") as name,gender,skills from heroes where name like "%张%" or name like "%关%"

4.6 排序

order by

主句 order by 排序规则
排序规则:asc(升序排列) desc(降序排列) rand()(随机排列)
​
升序排列:主句 order by 字段名 asc  根据指定字段的数据 进行升序排列
降序排列:主句 order by 字段名 desc 根据指定字段的数据 进行降序排列
随机排列:主句 order by rand()  随机排序

4.7 分组查询

SELECT *[,聚合函数] FROM 表名 [GROUP BY 字段]
作用:查询指定表中所有数据 并将查询出来的结果 根据group by中指定的字段进行分组 并通过聚合函数进行相应的操作
​
count用来计算总数量
select 要查询的字段 count(*) from 表名 group by 用来分组的字段
作用:根据指定字段 对查询出来的数据进行分组  并将各个分组中包含的数据 进行计数 显示出来
​
max 用来计算分组中指定字段的最大值
select 要查询的字段 max(指定的字段) from 表名 group by 用来分组的字段
作用:根据用来分组的字段 对查询出来的数据进行分组 并计算各个分组中 指定字段中数据的最大值 进行显示
​
min 用来计算分组中指定字段的最小值
select 要查询的字段 min(指定的字段) from 表名 group by 用来分组的字段
作用:根据用来分组的字段 对查询出来的数据进行分组 并计算各个分组中 指定字段中数据的最小值 进行显示
​
avg 用来计算分组中指定字段的平均值
select 要查询的字段 avg(指定的字段) from 表名 group by 用来分组的字段
作用:根据用来分组的字段 对查询出来的数据进行分组 并计算各个分组中指定字段的数据的平均值 进行显示
​
sum 用来计算分组中指定字段的数据和
select 要查询的字段 sum(指定的字段) from 表名 group by 用来分组的字段
作用:根据用来分组的字段 对查询出来的数据进行分组 并计算各个分组中指定字段的数据的加和 进行显示

4.8limit 设置查询条数

select * from 表名 limit 起始索引,要查询的条数
作用:从起始索引开始 向后查询 指定条数的数据
​
select * from 表名 limit 要查询的条数
如果只写了一个参数  表示以0为起始索引 向后查询指定的条数

4.9  join

  • select * from 表1 join 表2 on 条件 完全连接的联表查询 左表和右表的数据都会显示出来

  • select * from 表1 left join 表2 on 条件 左连接的联表查询 左表的数据会完全显示出来 右表数据则不会

  • select * from 表1 right join 表2 on 条件 右连接的联表查询 右表的数据会完全显示出来 左表数据则不会

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值