sh_18期_冉隆泉 发表于 2021-8-10 20:55:11

多测试上海校区_第18期_masql第一天(2021.08.10)

本帖最后由 sh_18期_冉隆泉 于 2021-8-28 20:27 编辑

数据库
数据基本介绍:
一、什么是数据库?
数据库是存放数据的电子仓库。以某用户方式存储百万条,上亿条数据,供多个用户访问共享。

二、数据库数据如何进行保存?
每个数据库的数据都是通过一个或者多个api用于创建,访问,管理,复制所保存的数据。

系统中有很多动态的数据存在数据中,需要通过访问数据库才能显示。

三、数据库的管理?
客户端查询,修改,删除,添加操作,通过sql语句对数据库服务器进行操作,然后将数据
展示在客户端
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7Vjq3-2KvgG3w0cSuxO9Yi7s0\e4d9083f7f634cc288ac38707a18e3eb\b2z
四、数据库的分类?
(1)关系型数据库
关系型数据库:数据库中表与表之间存在某种关系,数据存储在不同点的表中
如:db2、oracle、mysql(我们学的是mysql)
(2)非关系型数据
非关系型数据库:通常数据以对象的形式存储在数据库中,如:Redis(键值对)缓存数据库,
HBASE(列模型),mongodb(文档类模型)

===================================================================
关系型数据库特点
1.安全
2.保持数据的一致性
3.实现对表与表进行复杂的数据查询
非关系型数据库特点
1.效率高
2.容易扩展
3.使用更加灵活
=============================================================================
认识mysql:
mysql是指mysql数据库管理系统,术语关系型数据库
瑞典公司mysqldb开发的,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应用的架构:
单点数据,适用于小规模应用:(我们现在学的是单点)
复制,适用于中小规模应用
集群,适合大规模应用
(mjr集群,三主三从,一主三)

数据库的术语:
数据库



数据
冗余(多余的重复的数据内容)
单表
多表
临时表
视图
索引
存储
====================================================================
linux安装mysql
rpm -qa|grep mysql 查询linux中的数据库
yum remove 服务名称 删除linux中的数据库指定的包
yum remove mysql * 删除linux所有的数据库包
yum erase 数据包 删除linux中的数据
rpm -e --nodeps 数据包 删除linux中的数据库
yum install mysql    安装数据库客户端
yum install mysql-server安装数据库服务端
安装好后
servicemysqld   stop    关闭数据库服务
service mysqldstart    开启数据库服务
service mysqldrestart   重启数据库服务
service mysqld   status查看服务器状态


mysqladmin -urootpassword ‘123456’设置登入密码
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7Vjq3-2KvgG3w0cSuxO9Yi7s0\f40c493b523f4e4eb8d8557be524fbec\lwhql`iitq2lf8ad88ulk%5.png
mysql -u root -p 进入mysql操作界面
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7Vjq3-2KvgG3w0cSuxO9Yi7s0\61fa799b4e034b9ca98e5f2cf19ae5fd\u8@f@`yemj~s}y3~kbmv
showdatabases ;显示所有的数据库
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7Vjq3-2KvgG3w0cSuxO9Yi7s0\d5bb2983f1724bc49a26d0754746c7d6\rh0@%$6$(m{t9bo


create   database    库名;创建仓库   (注意 后面都要加分号--;--)
dropdatabase   库名; 删除仓库
use库名
showtables显示库里面所有的表

grant all privilege on *.* to root@“%” identified by “123456”;   授权
flush privilege   刷新授权。
==============================================================


第三方工具连接数据库检查:
1.防火墙关闭 service iptablesstop
2.数据库服务是否启动:service mysqld start
3.连接ip地址是否正确
4.账号和密码是否正确
5.是否设置权限,并刷新
grantallprivilegeson*.* toroot@"%" identifiedby "123456";    授权

flushprivileges ;刷新权限

建表:
步骤:
第一步 新建一个库 create database库名 ;
第二步 ; use 库名(linux界面)或点击选择navicat 中一个库
第三步: 建 create table 表名(字段1字符类型1(字符长度1), 字段2字符类型2(字符长度2))   
第四部;insert into 插入数据
=======================================================
知识点:
一个汉字占多少长度和编码有关(utf-8,gdk)
utf-8: 一个汉字=三个字节
gdk:一个汉字=两个字节
认识字符类型:
int数值类型
char或varchar字符类型
float浮点型数据类型
data时间类型
数值类型
int 整数 2的负31次方~2的31次方字节4
bigint超大整数字节:8
loat   浮点型数据字节:4
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7Vjq3-2KvgG3w0cSuxO9Yi7s0\eb0d3cea0c26407db12fab66d54c2561\}$azbnob]2%s%p

字符类型:
char固定长度的字符串最大字符255
varchar具有最大限制的可变长量   最大65535字符

时间格式类型:
date    yyyy--mmmm--dddd(年月日)       格式的日期字节3
time   hh:mm:ss   格式的时间   字节3
datetime   日期+时间   字节:8
year年字节1
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7Vjq3-2KvgG3w0cSuxO9Yi7s0\b7ef8ba00b7d4fe48fc45a35fb711453\clipboard.png
==============================================================
建表:
建表语句:
create table表名(字段名1 字符类型1 (字符长度),字段名2
default charset=utf8:默认编码格式,当插入中文数值显示??? 解决
案例:createtablehz10(idint(10),name char(20),ageint(10))defaultcharset=utf8 ;
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7Vjq3-2KvgG3w0cSuxO9Yi7s0\47579d0a08e54292b8f01ce0fe8846f6\_3@ib8vlwnci$uwsnp_fsqg.png
desc   表名    查看结构 ;
建表约束:
表中的限制条件
作用:表在的时候加入约束的目的是为了保证表中的记录完整和有效。
(1)非空约束    (not   null)   非空,用于保证字段的值不能为空,
(2)唯一约束(unique)         保证字段值具有唯一性(不能重复),可以为空,唯一约束可以有多个
(3)主键约束(primarykey) 保证字段值具有唯一性(不能重复),不能为空 ,一个表中只有一个主键
(4)外键约束 (forrignkey) 两个表之间的主键建立关系
(5)默认 :(default)          当字段不填数据,默认数据
(6)自增长 :auto _increment    当添加一条数据,自动增长+1

(1)与主键约束一起使用,一般针对id
(3)每插入一条数据,指定的字段值+1
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7Vjq3-2KvgG3w0cSuxO9Yi7s0\a35e576e811342c488d934bc9547b3ad\clipboard.png
==========================================================================
drop   table   表名   删除表 ;
例如:DROP   table   aa;
表字段:
添加字段:add
格式:altertable   表名add 字段名 字符类型(字符长度);
altertable   hz10addfs int(10);
修改字段:change
格式:altertable   表名   change原字段名    新字段名   字符类型(字符长度);
altertable   hz10changefstz int(10);
删除字段:drop
格式:altertable表名   drop 字段名 ;
altertable   hz10 drop tz ;
重命名:rename
格式:altertable原表名 rename 新表名;
altertable   hz10 rename hzdcs10 ;
调换字段顺序:modify      after      在......后面
格式:altertable   表名 MODIFY移动的字段名   字段类型(字符长度)after   字段名 ;
altertable   hzdcs10 MODIFYage int(10)after id ;
将字段添加到首行:
格式:altertable 表名 add字段名 字符类型(字符长度)      first ;
altertable   hzdcs10 addnoint(10) first ;
将字段添加到指定字段的后面:
格式:altertable   表名   add新字段名    字符类型(字符长度) AFTER    原表名 ;
altertable   hzdcs10 addtzint(10) AFTER age ;
========================================================
表中插入数据:
(1)表中插入数据:insertinto   表名    values(插入值1,插入值2)   注入:插入的值,只有数值不需要加引号,字符要加上引号
如:INSERTinto hz10 VALUES(1,"文琪",18);
(2)表中插入数据:insertinto   表名 (id)   values(插入值1)   
INSERTinto hz10(id) VALUES(2);
页: [1]
查看完整版本: 多测试上海校区_第18期_masql第一天(2021.08.10)