数据库
Redis–内存
Linux
网络编程
OSI参考模型 7层协议(从下往上:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 APP)
TCP/IP (数据链路层(物理层、数据链路层)、网络层、传输层、应用层(会话层、表示层、应用层 ))每一层只负责自己的事情
网络层:IP ip地址标识网络当中的主机
传输层:TCP/UP (端口)标识主机上的某个应用 —唯一
应用层:FTP/TFTP/HTTP
什么是数据库?
- 保存数据的仓库
- 保存在磁盘(持久化的设备)上,以文件的形式存在
- 对数据库的增删改查的操作,实质上就是对磁盘上的文件机器内容进行增删改查的操作
关系型数据库
- MySQL就是一种关系型数据库产品
常见的关系型数据库
MySQL
- Oracle
Oracle
- Oracle 去IOE 银行
SQL Server
- 微软—Windows 7 8 10、Windows Server、Office(Word、PowerPoint、Excel、Visio、Project、Access…)
DB2
- IBM JVM J9
三个名词—安装数据库(DBMS)
- DB—数据库,存储数据的仓库
- DBMS—数据库管理系统,包括管理员和数据库(DB)—RDBMS—关系型数据库管理系统
- SQL—结构化查询语言,用来对DB进行操作
一个DB包含多张table(表)
table包含—表的结构(定义了列名和列类型)、表的记录–DB表的内容
MySQL安装 5.5 (5.6 5.7 8)
安装
- next
- 在安装过程中要选择将MySQL安装的路径添加到path环境变量
也可以手动配置 将MySQL下的bin目录配置到path环境变量当中
配置MySQL服务器
- 端口 3306 如果被占用a换端口,b将占用端口的应用关闭— 选择编码–utf-8–都要统一,避免出现乱码—密码
登录
- mysql -h 主机的IP地址 -u 用户名 -p
- 如果是登录的本地的mysql,IP地址填localhost
- 如果是登录的本地的mysql,-h 主机的IP地址也可以不写
- 默认会有四个数据库,除了text外 其他不要做任何操作
启动和停止MySQL服务
- 计算机–右键–管理–服务–MySQL
- net stop mysql
- net start mysql
*** Programdata/MySQL配置文件my ini 改端口 文件位置***
卸载
- 通过IObit Uninstaller 9找到MySQL 卸载
SQL 概述
解释
结构化查询语言(Structured Query Language)
作用
客户端使用SQL来操作数据库
- 启动mysql.exe连接服务器后,就可以使用sql来操作服务器了
- 将来会使用Java程序(JDBC)连接服务器,然后使用sql来操作服务器
ISO
国际标准化组织
- ISO 定义了很多SQL标准(例如SQL99),对RDBMS进行统一的操作,相同的语句可以操作Oracle,MySQL
- 各个数据库厂商有自己的标准,类似于方言,MySQL中的limit
SQL语法
- SQL语句可以在单行或多行书写,以分号结尾
- 可使用空格和缩进来增强语句的可读性
- MySQL不区分大小写,建议大写
SQL分类
DDL(Data Definition Language)数据定义语言
- 创建、删除、修改库、表结构
DML(Data Manipulation Language)数据库操作语言
- 增、删、改表记录
DCL(Data Control Language)数据控制语言
- 用来定义访问权限和安全级别
(Data Query Language)数据查询语言
- 用来查询记录
- select * from 表名
通配符 * 表示所有的
常用SQL语句
对数据库的操作
- 查看所有的数据库
show databases; - 切换数据库
use 数据库的名字;(选中数据库) - 查看当前数据库下所有的表
show tables; - 创建数据库
create database 数据库的名字; - 删除数据库sh
drop database 数据库的名字;
表的操作
- 创建表
create table 表名(
列名 列类型,
列名 列类型,
…
列名 列类型
); - 查看表的结构
desc 表名; - 删除表
drop table 表名;
show tables;验证
( syntax 语法) - 删除表中的一列
- alter 表名 drop 列名;
约束–限制 限定
主键约束(唯一标识)
特性
- 非空
- 唯一
添加主键
ALTER TABLE stuinfo ADD PRMARY KEY(id)
非空约束
唯一约束
查询表中所有的信息
- SELECT 列名,列名… FROM 表名;
- SELECT * FROM 表名;
插入数据
- INSET INTO 表名(列名1,列名2,…) VALUES(列值1,列值2,…);
- 插入的数据占一行
- 列值的顺序必须和列名的顺序一致
- INSET
数据类型(列类型)
int 整型
double 浮点型
- double(5,2)表示最多5位,其中必须有2位小数
decimal 浮点型
- 和钱相关,不会出现精度缺失的问题
- 工程
char 固定长度字符串类型
- char(255)数据长度不足指定长度,补足到指定长度,用于身份证、手机号、时间固定长度的内容
varchar 可变长度字符串类型
- varchar(65535)数据长度不足指定长度,不补足到指定长度,用于用户名,备注不固定长度的内容
- 单独至少花一个字节保存数据长度,如果长度超过一个字节,就要花费两个字节。
text(clob) 字符串类型
- mysql 独有的类型,标准里没有
- 存储超大的字符数据
blob 字节类型
- 存储超大的二进制数据
date 日期类型
- yyyy-MM-dd
time 时间类型
- hh:mm:ss
timestamp 时间戳类型
学习笔记