数据库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 表名; 这个也是一删就没了 我们要慎重,也是非常危险的
删表可能比删除数据库更严重!!!
习题:
感谢大家的支持
更多内容还在加载中...........
如有问题欢迎批评指正,祝大家生活愉快、学习顺利!!!