数据库
存储数据的仓库。
思考问题:为什么选择使用数据库存储数据?
计算机中存储数据的介质:
寄存器、缓存、内存(关机没了|退出程序) 时效性很短 快
磁盘 固话数据(持久化存储) 慢
数据库的存储是存储在磁盘上的。当然目前也是存在基于内存的数据库(当做缓存数据库 redis、mongodb)
思考问题:在没有数据库之前,我们如何存储数据?
大学:
存储各种学生、教师、课程等信息。 使用纸张存储。
学生信息:将学生信息和对应的他所有的数据文件的位置信息 存储好,似乎也可以解决。
张三 逸夫楼2L 201教室 3-2-1
文件存储这个数据:
student_location.txt
姓名 学号 作业位置信息 分数 专业
张三 20220201012 逸夫楼2L 201教室 3-2-1 优 计科
。。。。。。。。。。。。。。。。。。。。。。
思考问题:数据库有哪些优势?
大:
检索速度要快:
安全性要高、可靠:
数据库的交互
数据库中的数据的排列方式:
在一个数据库服务中,包含了N个库信息,每个库信息中包含N张表数据,具体数据信息是存储在表里面的。
每张表都是包含:(列 【列名称 + 列的类型】 + 行记录)
sql语法规则以及练习
编写SQL的注意事项:
1: 忽略大小写 建议小写(看起来方便) select * from emp;
2: 所有sql语句编写的时候 统一使用`;` 结尾 。
3: 为了格式好看,可以在编写过程中换行,但是一定要写;
select
*
from
emp;
sql的分类
https://blog.csdn.net/eff666/article/details/52071101 数据库sql分类教程
https://www.sjkjc.com/mysql/lock-user-accounts/ SQL教程
https://www.runoob.com/mysql/mysql-data-types.html mysql教程
http://c.biancheng.net/mysql/function/ mysql函数教程
数据查询语言(DQL) 查询 表中的数据
数据操纵语言(DML) 操作 针对与数据的 修改 删除 和添加
数据定义语言(DDL) 针对与库和表的操作
数据控制语言(DCL) 针对用户的操作 权限
-- 创建用户
> create user '用户名' identified by '密码';
-- 给指定用户授权 *代表所有 *.*代表所有库的所有所有表 all代表所有权限
> grant all on *.* to '用户名';
-- 给指定用户撤销权限 *代表所有 *.*代表所有库的所有所有表 all代表所有权限
> revoke all on *.* from '用户名';
-- 给用户加锁
> alter user '用户名' account lock; -- 加锁
> alter user '用户名' account unlock; --解锁
-- 删除指定用户
> drop user '用户名';
-- 查询所有的库信息
> show databases;
-- 切换库
> use 数据库名称;
-- 查看所有表
> show tables;
-- 查看当前指定的表的表结构
> desc 表名;
-- 查看当前表的所有数据记录
> select * from 表名;
-- 创建表
> create table 表名 (列名1 列类型1,列名2 列类型2,列名3 列类型3....)
-- 修改前缀: alter tbale 表名
-- 给当前表添加一列
> alter table t_user add column score int;
-- 修改列名称和列类型
> alter table t_user change 旧列名 新列名 列类型
数据库中的数据类型
数值
整数
在计算机中最小的存储单位是位 进位方式如下
1b 1位 描述两种状态 分别是 [0,1]
1B 1个字节 = 8b = 2^8 状态 描述的数据量是 256种 如果描述整数 [-128,127]
1KB = 1024B 1个千字节
1MB = 2014KB 1个兆字节 1GB 吉字节 1TB 1PB 1EP NBNBNBNB
* 所有的语言体系中:
* 强类型语言: SQL 所有的数据和变量都是具备类型
* 弱类型语言: 数据有类型,变量无类型
* 在SQL中,将数据类型做了很合理化的设置。 `tini_int、 int、bit_int`等
* 小数
* float、double(浮点数)
* decimal 定点数
字符串
char (定长 时间换空间) varchar(变长 空间换时间)
text(长文本) blob (二进制)
日期
date 存储日期 年月日
time 存储时间
timestamp 时间戳 年月日 时分秒 时区