一。数据库概念
在没有数据库时,编写项目都是使用db模拟数据库。将文件以列表或字典等存入文件夹。
但是,不同的程序员存放数据的方式都是各不相同的,而且摆放的位置都是不一样的。
如何同一数据格式,和如何统一数据存放位置,成为了一个问题。
于是,数据库就成为了这个存放数据,规范数据存储方式的容器。
1.数据库之MySQL
本质就是一款基于网络通信的应用软件
任何基于网络通信的软件,底层都是socket
其分为两部分
服务端
-基于socket通信
-收发消息
-SQL语句(是一个公共的标准)
客户端
-基于socket通信
-收发消息
-SQL语句
ps:MySQL不单单支持MySQL的客户端来操作 也支持其他编程语言直接操作
python java c++ php语法都不一样
然而数据库软件并不只有mysql一种,它分为关系型数据库和非关系型数据库
DBMS:数据库管理系统
关系型数据库:
数据与数据之间可以有关联和限制的关系型数据库
通常都是表结构,也就意味着你在用关系型数据库的时候,第一步就是确定表结构,字段有特定的类型
存名字用字符串
存密码用数字
存生日用日期
常见的有:MySQL, oracle, sqlite, db2, sql server
非关系型数据库
通常都是以k,v键值的形式 存储数据
常见的有:redis,mongodb(文档型数据库 非常接近关系型的非关系型数据),memcache
MySQL其实可以把它看成一款支持远程操作文件的软件
库 >>> 文件夹
表 >>> 文件
记录 >>> 文件内一行行的数据叫做一条条的记录
表头 就是表格的第一行数据
字段 字段名+字段类型
二。数据库的安装详见:
https://www.cnblogs.com/LZXlzmmddtm/p/11366023.html
三。数据库的基本操作
1.对库的操作
库就相当于一个文件夹,里面存放着一张张的表。
增
create database db1;---新建一个名为db1的库
查
show databases; ---查询当前用户所有的库
show create database db1;查看单个库
改
alter database db1 charset='gbk' 修改编码
删
drop database db1; --删库
2.对表的操作
use + 库名,可以指定到库下
查看当前所在库:select database();
增
create table userinfo(id int,name char);----创建一个表,名为userinfo 表头是id和name,类型为int 和char
查
show tables;--查看某个库下所有的表
show create table userinfo;--查看创建的指定的表。
desc userinfo; == describe userinfo; 查看表和信息
改
alter table userinfo modify name char(32)
将userinfo 中的name字段的类型变成char(32)
删
drop table userinfo--- 将这个表删除
3.对记录的操作
先创建或指定一个库,切换到改库下,创建表,再操作记录
增
insert into userinfo values(1,'jason',123);插入单条数据
insert into userinfovalues(1,'jason',123),(2,'egon',123),(3,'tank',123); 插入多条数据
查
select * from userinfo; 查询所有的字段信息
select name from userinfo; 查询指定字段信息
select id,name from userinfo where id=1 or name=tank; 带有筛选条件的字段信息
改
update userinfo set name='kevin' where id=1; 修改数据的一个字段信息
update userinfo set name='jason',password=666 where id=1; 修改数据的多个字段
删
delete from userinfo where id =1; 指定删符合条件的数据
delete from userinfo; 将表中的数据全部删除