杭州多测师10期--课程--MySQL 数据库、navicatMySQL工具
数据库数据基本介绍:
一、什么是数据库?
数据数据的电子仓库。以某方用户式存储百万条,上亿条数据,供多个用户访问共享。
二、数据库数据如何进行保存?
每个数据库的数据都是通过一个或多个api 用于创建、访问,管理,复制所保存的数据。
系统中有很多动态的数据存在数据库中,需要通过访问数据库才能显示。
三、数据库的原理?
客户端查询,修改,删除,添加 操作,通过sql语句对数据库服务器进行操作,然后将数据展示在客户端。
file:///D:/0-IT/2/%E6%9C%89%E9%81%93%E4%BA%91/weixinobU7VjpXsC9t9lzi3H5-I_Qkqik4/5f06e34f4f764617a4812d821200cc6f/6bbf05a010e5.png
四、据库的分类?
(1)关系型数据库
关系型数据库:数据库中表与表之间存在某种关系,数据存储在不同的表中
如:db2、oracle、 mysql(我们学的是mysql)
(2)非关系型数据库
非关系型数据库:通常数据以对象的形式存储在数据库中,如:redis(键值对) , hbase(列模型),mongodb(文档类模型)
========================================
关系型数据库特点
1.安全
2.保持数据的一致性
3.实现对表与表进行复杂的数据查询
非关系型数据库特点
1.效率高
2.容易扩展
3.使用更加灵活
========================================
认识mysql:
mysql是指mysql数据库管理系统 术语关系型数据库
瑞典公司mysql db 开发的,oracle 收购,
mysql 是一种关系型数据库将数据保存在不同的表汇总,而不是将所有的数据放在一个大仓库中,增加了速度和灵活性。
myslq 数据库是目前web端应用领域使用最广泛的,也是bs架构常用的数据库。
mysql优点:
1、开源、免费
2、体积小,安装简单,维护成本低
3、支持多系统
4、支持多语言:python、java、php、c++等
5、支持多种存储引擎
6、与其他工具组合可以搭建免费的网站系统
lamp=linux+apache+mysql+php
lnmp=linux+nginx+msyql+php
mysql应用的架构:
单点数据,适用于小规模应用;(我们现在学的是单点)
复制,适用于中小规模应用
集群,适合大规模应用
(mgr集群,三主三从,一主三从)
数据库的术语:
数据库
表
行
列
数据
冗余(多余的重复的内容)
单表
多表
临时表
视图
索引
存储
主键
外键
========================================
linux安装mysql
rpm -qa|grepmysql查询linux中的数据库
yumremove 服务名称 删除linux中的数据库指定的包
yumremovemysql* 删除linux中所有的数据库包
yum erase 数据库包 删除linux中的数据库
rpm-e --nodeps 数据包 删除linux中的数据库
yuminstall mysql 安装数据库客户端
yuminstall mysql-server 安装数据库服务端
安装好后
servicemysqld stop关闭数据库服务
servicemysqld start开启数据库服务
servicemysqld restart重启数据库服务
servicemysqld status查看服务器状态
msyqladmin-uroot password ‘123456’ 设置登录密码
mysql-u root -p 进入mysql操作界面
========================================
show databases 显示所有的数据库
create database 库名 创建数据库
drop database 库名 删除数据库
use库名 使用库
showtables 显示库里面所有的表
create table 表名(字段1字符类型1(字符长度1),字段1字符类型1(字符长度1)) 建表语句
grantallprivilegeson*.* toroot@"%" identifiedby "123456"; 授权
flushprivileges ;刷新权限
第三方工具连接数据库检查:
(1)防火墙关闭 serviceiptablesstop
(2)数据库服务是否启动:service mysqldstart
(3)连接ip地址是否正确
(4)账号和密码是否正确
(5)是否设置权限,并刷新
grantallprivilegeson*.* toroot@"%" identifiedby "123456"; 授权
flushprivileges ;刷新权限
========================================
建表
步骤:
第一步 :新建一个库 createdatabses库名 ;
第二步:use 库名 库(linux界面)或点击选择navicat中一个库
第三步:建createtable 表名(字段名1 字符类型1(字符长度1),字段名2字符类型2(字符长度2))
第四步:insertinto 插入数据
==============================================================
知识点:
一个汉字 占多少长度和编码有关(utf-8,gbk)
utf-8:一个汉字=3个字节
gbk:一个汉字=2个字节
认识字符类型:
int数值类型
char 或varchar字符类型
float 浮点型数据类型
data 时间类型
数值格式:
int 整数 2的负31次方~2的31次方 字节4
bigint 超大整数 字节:8
loat 浮点型数据 字节 :4
file:///D:/0-IT/2/%E6%9C%89%E9%81%93%E4%BA%91/weixinobU7VjpXsC9t9lzi3H5-I_Qkqik4/fa789de2a4624d4ca6c8f3afbfe4330d/e434c061725e.png
字符类型:
char 固定长度的字符串 最大字符255
varchar 具有最大限制的可变长量 最大65535 字符
file:///D:/0-IT/2/%E6%9C%89%E9%81%93%E4%BA%91/weixinobU7VjpXsC9t9lzi3H5-I_Qkqik4/d6975bb0f918406e82c14943ce2cf415/05641851ed9f.png
时间格式类型:
date yyyy--mmmm--dddd 格式的日期 字节3
time hh:mm:ss 格式的时间 字节3
datetime 日期+时间 字节:8
year 年 字节1
file:///D:/0-IT/2/%E6%9C%89%E9%81%93%E4%BA%91/weixinobU7VjpXsC9t9lzi3H5-I_Qkqik4/fecc1a0b487041b6890c7969f0a5f975/42afff7ed95c.png
====================================
建表:
建表语句:
createtable表名(字 段名1字符类型1(字符长度),字段名2 字符类型2(字符长度),字段名3字符类型3(字符长度))defaultcharset=utf8 ;
defaultcharset=utf8 ;默认编码格式,当插入中文数值显示???解决
案例:createtablehz10(idint(10),name char(20),ageint(10))defaultcharset=utf8 ;
desc 表名 查看结构 ;
建表约束:
表中的限制条件
作用:表在的时候加入约束的目的是为了保证表中的记录完整和有效。
(1)非空约束 (not null) 非空,用于保证字段的值不能为空,
(2)唯一约束(unique) 保证字段值具有唯一性(不能重复),可以为空,唯一约束可以有多个
(3)主键约束(primarykey) 保证字段值具有唯一性(不能重复),不能为空 ,一个表中只有一个主键
(4)外键约束 (forrignkey) 两个表之间的主键建立关系
(5)默认 :(default) 当字段不填数据,默认数据
(6)自增长 :auto _increment 当添加一条数据,自动增长+1
(1)与主键约束一起使用,一般针对id
(3)每插入一条数据,指定的字段值+1
file:///D:/0-IT/2/%E6%9C%89%E9%81%93%E4%BA%91/weixinobU7VjpXsC9t9lzi3H5-I_Qkqik4/e8cf2de5a8bd4f6eb7ff01a06a60be66/52e02d2e7127.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]