本帖最后由 小阿金 于 2021-8-10 19:38 编辑
一、什么是数据库
数据库是存放数据的电子仓库,以某种方式存储百万条,上亿条数据,供多个用户访问共享。
二、数据库是如何保存数据?【数据库的数据是如何进行保存}
每个数据库的数据都是通过一个或多个api用于创建、访问、管理、复制所保存的数据。
系统中有很多动态的数据存在数据库中,需要通过访问数据库才能显示。
三、数据库的原理
E:/youdaofanyi/weixinobU7Vjpxg5IHOu_HmnT5kAiN7rw0/4cdad1254839490f8a4e10b7c6a2b520/clipboard.png
客户端查询,修改,删除,添加操作,通过sql语句对数据库服务器进行操作,然后将数据展现在客户端
四、数据库的分类
1、关系型数据库
关系型数据库:数据库中表与表之间存在某种关系,数据存储在不同的表中。
如:db2、oracle、mysql
2、非关系型数据库
非关系型数据库:通常数据以对象的形式存储在数据库中,如:redis(键值对),hbase(列模型),monodb(文档类模型)
五、关系型数据库的特点
1.安全
2.保存数据库的一致性
3.实现对表与表进行复杂的数据查询
非关系型数据库特点
1.效率高
2.容易扩展
3.使用更加灵活
=========================
认识mysql:
mysql是指mysql数据库管理系统,术语:关系型数据库
是由瑞典公司mysql ab开发的, oracle收购。
mysql是一种关系型数据库将数据保存早不同的表汇总,而不是将所有的数据放在一个大仓库中,增加了速度和灵活性。
mysql是数据库目前web端应用领域使用最广泛的,也是bs架构常用的数据库。
mysql优点:
1、开源、免费
2、体积小、安装简单、维护成本低
3、支持多系统
4、支持多语言:python、java、php、c++等
5、支持多种存储引擎
6、与其他工具组合可以搭建免费的网站系统
lamp= linux+apache+mysql+php
lnmp= linux+nginx+mysql+php
mysql应用的架构:
单点数据,适应于小规模应用;(学的是单点)
复制,适合中小规模应用
集群,适合大规模应用
(mgr集群,三主三从,一主三从)
数据库的术语:
行、列、数据库、表、数据、冗余(重复的意思)、单表、多表、临时表、视图、索引、存储、主键、外键
===================
linux安装mysql
rpm -qa|grep mysql 查询linux中的数据库
yun remove 服务名称 删除linux中的数据库包
yun remove mysql * 删除linux中所有的数据库包
yun erase 数据库包 删除linux中的数据
rpm -e --nodeps 数据包 删除linux中的数据库
yum install mysql 安装数据库
yum install mysql-server 安装数据库服务端
service mysqld stop 关闭数据库服务
service mysqld start 开启数据库服务
service mysqld restart 重启数据库服务
service mysqld status 查看服务器状态
mysqladmin -uroot password '设置密码'
E:/youdaofanyi/weixinobU7Vjpxg5IHOu_HmnT5kAiN7rw0/48c1d6d17aa44bc2af555aa80b48d813/clipboard.png
mysql -u root -p 进入mysql的操作界面
E:/youdaofanyi/weixinobU7Vjpxg5IHOu_HmnT5kAiN7rw0/5d7caacd297a4ebba554f82df4c0807d/clipboard.png
show databases ; 显示所有的数据库
create database 仓库名 ; 创建仓库
drop database 数据库名 ; 删除数据库
use 仓库名 ; 使用仓库
show tables ; 显示所有的表
create table aa (id int(10),name char(20));
grant all privileges on *.* to root@"%" identified by "123456"; 授权
flush privileges ; 刷新权限
======================
第三方工具连接数据库的检查:
(1)防火墙关闭 service iptables stop
(2) 数据库服务是否启动 service mysqal start
(3) 连接ip地址是否正确
(4)账号密码是否正确
(5)是否设置权限,并刷新
=========================
mysql 之基本术语
一、建表
步骤:
1、新建一个库 create databses 库名 ;
2、use 库名 库(linux界面)或点击选择navicat中的一个库
3、建 create table 表名(字段名1 字符类型1(字符长度1),字段名2 字符类型2(字符长度2))
4、insert into 插入数据
=========================
字符的说明
1个汉字占多少长度和编码(utf-8,gbk)有关
utf-8:一个汉字=3个字节
gbk:一个汉字=2个字节
认识字符类型
int 数值类型
char 或 varchar 字符类型
float 浮点型数据类型
data 时间类型
数值格式:
int 整数 2的负31次方——2的31次方 字节4
bigint 超大整数 字节8
loat 浮点型
E:/youdaofanyi/weixinobU7Vjpxg5IHOu_HmnT5kAiN7rw0/8b25184f94434c179aecb4007f44dd5c/clipboard.png
字符类型:
char 固定长度的字符串,最大字符255
varchar 具有最大限制的可变长量 最大65535字符
时间格式类型:
date yyyy--mmmm--dddd 格式的日期 字节3
time hh:mm:ss 格式的时间 字节3
datetime 日期+时间 字节8
year 年 字节1
desc 表名 查看表结构
=================================================
建表语句:
建表约束:
表中的限制条件
作业:表在设计的时候加入约束的目的是为了保证表中的记录完整和有效。
(1)非空约束 (not null) 非空,用于保证字段的值不能为空。
(2)唯一约束 (unique) 保证字段值具有唯一性(不能重复),可以为空,唯一约束可以有多个
(3)主键约束 (primary key) 保证字段值具有唯一性(不能重复),不可以为空,一个表中只有一个主键
(4)外键约束 (forrign key) 两个表之间的主键建立关系
(5)默认: (default) 当字段不填数据,默认数据
(6)自增长: auto_increment 当添加一条数据,自动增加1
(1)与主键约束一起使用,
表中插入数据:insert into 表名 values (插入值1,插入值2) 注意:插入的值,只有数值不需要加引号,字符加上引号。
如:insert into 表名 values (1,”文琪",18);
========================================
表字段:
添加字段:add
格式:alter table 表名 add 字段名 字符类型(字符长度);
alter tabel hz 10 add fs int(10);
修改字段:change
格式:alter table 表名 change 原字段名 新字段名 字符类型(字符长度);
alter tabel hz 10 change fs fz int(10);
删除字段:drop
格式:alter table 表名 drop 字段名;
alter table hz10 drop tz;
重命名:rename
格式:alter table 原表名 rename 新表名 字段名;
alter tabel hz10 rename hzdcs10 int(10);
调换字段顺序:modify after 在......后面
格式:after table 表名 modify 移动的字段名 字段类型(字符长度)after 字段名;
alter tabel hz10 modify age int(10) after id;
将字段添加到首行:
格式:after table 表名 add 字段名 字符类型(字符长度) first
alter tabel hz10 modify age int(10) after id;
将字段添加到
======================================
表中插入数据:
(1)表中插入数据:insert into 表名 values (插入值1,插入值2) 注入:插入的值,只有数值不需要加引号,字符要加上引号
如:INSERT into hz10 VALUES (1,"文琪",18);
(2)表中插入数据:insert into 表名 (id) values (插入值1)
INSERT into hz10(id) VALUES (2);
|
|