当前位置: 首页 > news >正文

数据库1.0

大家好 这篇文章适合零基础 新手小白

对于数据库的一个基本的认识~

目录

一、 Mysql 介绍

二、Mysql服务器的安装

三、SQL语句的分类

四、注意

五、基本语句

六、表操作

一、 Mysql 介绍

数据库:管理数据的软件     对数据进行增删改查  

具体软件: Oracle   收费 贵  java也是由sun公司投靠了Oracle公司

                   MySQL:开源 免费   阿里的去Oracle运动 改良mysql      

                                   江湖地位开始水涨船高  

                   Mariadb Oracle感到危机之后直接收购了Mysql  将mysql的源码拉出来创建此

                  SQLServer 微软  份额小 还要捆绑销售    这个时候Mysql已经占据了市场 

                  SQLite  1MB 运行速度快  占用体积小 嵌入式设备里面使用 

数据库软件分类:

                 关系型数据库:表   数据格式要求比较高  一板一眼的

                 非关系型数据库: 更加灵活 会使用文档 键值对 这样的结构来组织数据

二、Mysql服务器的安装

首先是mysql的服务器 服务器是根本,真正存储数据的部分  客户端是啥都行

   客户端:官方自带的控制台客户端

Mysql服务器和客户端是一体的

Mysq存储的东西都是在硬盘上面的     把数据刻在石头上

过程:有一个教程链接:

https://www.cnblogs.com/gaobo123/articles/13304745.html 

要注意的地方是:密码的设置

咱们自己的数据  对自己很重要 对别人不太重要

不需要设置多么复杂的密码   只需要简单的1234就可以了 

(密码补药以0开头  否则后续会出现很多不必要的问题)

三、SQL语句的分类

DDL  数据定义语言        Data Defintion Language

DML 数据操纵语言        Data  Manipulation Language

DCL 数据控制语言        Data  Control Language   

感觉操纵和控制的意思相近:

DDL  建筑师  DML:编辑   DCL:保安(负责权限的控制)

四、注意

报错

拼错不可怕 最重要的看懂报错信息 

闪退:   看到错误信息  闪退是因为错误显示速度太快了   把快捷方式拖到cmd里面 

一定要学会看报错信息~~~    英文反而更加清晰

要注意: 拖入的是文件    根据客户端定位到   所在文件的位置  

这样就能显示具体的错误信息   然后对症下药  解决问题  

五、基本语句

关键字: sql的关键字是大小写不敏感的  大写小写好看  自己感觉

创建数据库: create  database java109 

注意点: create ---> creat   database--->datebase

create database if not exists java109 ; 创建的时候加上一个修饰 来应对上述重复的问题

if not exists  避免sql进行报错  实际工作中,一系列sql写到一个文件中,批量执行的

而很少会这样一条一条的执行~~~   在批量执行的情况下  一条错了 后面的就无法执行

创建数据库的时候,可以手动指定一下 字符集的 

character set 字符集名 对中文进行编码    有时候需要在数据库中保存中文

默认字符集是拉丁文 这个时候 手动指定编码方式为支持中文的编码(GBK UTF8)

对于字符集的知识:推荐黑马的这个视频BV1xD4y1y7yc

查看数据库

show databases;      有自带的数据库:mysql 等

选中数据库

use 数据库名;    数据库中关键的表的操作,就是针对表进行增删改查

表是从属于数据库的  要针对表操作,就需要先把哪个数据库表这个事情 指定清楚

删除数据库

drop database 数据库名;

删除操作,删掉的不仅仅是database 而且删除了database中的所有的表,和表里面所有的数据!

删了就是没了  没有进回收站   所以执行这个操作的时候要格外的小心 

mysql中支持的数据类型

一个表  很多行 每一行称为一条记录   

一个行 很多列  每一列称为一个字段

每个列都是有一个具体的类型的  数值  字符串 日期

mysql是比较古老的语言  和c差不多 那hi还没有Java  没有统一的约定俗成的命名规范

但是在mysql中被保存下来  类似一种化石一样的存在

对于BIT 二进制位    BIT[(M)] 如果m=3 表示三位二进制 能存储8种状态  000~111

对于 DOUBLE(M,D)   M和D

decimal 精度更高的浮点数  使用其他方式,来存储小数   运算速度会变慢,占用的空间也更多

  下面就写一个表格展示这样的知识

字符串     文本数据   二进制形式的文本数据

varchar  一个汉字表示一个字符  

对于BLOB的理解 :

计算机存储二进制数据 音乐 图片 视频 都是二进制的~

对于64kb    一般很少会在数据库的某一列中,存储特别大的数据

这么做会大大影响到数据库的增删改查的效率

实际开发中如果需要保存图片,一般都是把图片单独放到专门的目录中,然后让数据库保存图片的路径

时间戳 :计算机使用时间戳来表示时间

以1970年1月1日 0时0分0秒作为基准,计算当前时刻和基准时刻的各种秒之差

DSTETIME   8个字节    TIMESTAMP4个字节  stamp:邮票

对于时间的感知: 时间感知会过的越来越快  

总结:上述类型,只需要掌握几个重要的即可:

int long double decimal  varchar datetime

六、表操作

进行表操作的前提 是选中数据库  use 数据库名;

创建表

create table  表名(列名 类型,列名 类型............. );

sec是秒  0.02秒 在计算机是很慢的时间   mysql这样数据库,性能其实是短板

mysql也提供无符号版本的数据类型:官方文档上明确使用了不建议使用

会在未来的版本废除    

两个无符号相减,可能会产生溢出的情况 ,所以很多语言都没有

 查看表:

show tables;(查看当前数据库的表)

上节课创建的表格 数据库中的内容 都是持久化存储的 后续存储电脑都是存在的

查看指定表的结构:

desc 表名;  describe 描述    对于表结构的认识:

删除表:

drop table  表名;   这个也是一删就没了   我们要慎重,也是非常危险的

删表可能比删除数据库更严重!!! 

习题:

感谢大家的支持

更多内容还在加载中...........

如有问题欢迎批评指正,祝大家生活愉快、学习顺利!!!

http://www.lqws.cn/news/523513.html

相关文章:

  • Python 爬虫入门:从数据爬取到转存 MySQL 数据库
  • 【Ansible】Ansible入门
  • Git常用操作详解
  • Python核心可视化库:Matplotlib与Seaborn深度解析
  • React 第六十四节Router中HashRouter的使用详细介绍及案例分析
  • 重置 MySQL root 密码
  • 基于STM32的智能节能风扇的设计
  • KNN算法(K近邻算法)
  • K8s在centos7安装及kubectl
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | BackgroundSlider(背景滑块)
  • 设备维修全流程记录,提升设备运维效率
  • 前端面试专栏-主流框架:13.vue3组件通信与生命周期
  • 【MPC】实战:基于MPC的车辆自适应巡航控制 (ACC) 系统设计
  • 《大模型 Agent 应用实战指南》第2章:商业目标与 Agent 能力边界定义
  • APISIX
  • 智慧校园电子班牌系统源码的开发与应用,基于Java/SpringBoot后端、Vue2前端、MySQL5.7数据库
  • LeetCode 3298.统计重新排列后包含另一个字符串的子字符串数目2
  • 北斗导航 | 基于改进奇偶矢量法的CAT I精密进近RAIM算法
  • Spring Boot 系统开发:打造高效、稳定、可扩展的企业级应用
  • 渗透靶场:事件和属性被阻止的反射xss
  • [ linux-系统 ] 基础IO
  • 移除wordpress后台“评论”菜单的三种方法
  • 深入理解 Spring 框架的 Bean 管理与 IOC​
  • arthas助力Java程序Full GC频率大降!
  • 神经网络的运作方式类比讲解
  • TensorFlow Lite (TFLite) 和 PyTorch Mobile介绍2
  • 红外图像增强(dde):基于“基础层-细节层”分解的增强算法
  • 深入学习入门--(一)前备知识
  • 深度学习之分类手写数字的网络
  • 【Linux】Lniux基本指令(1)