数据库管理1

数据库管理

数据库运维。
sql语句 数据库用来增删改查的语句
备份 数据库的数据进行备份
主从复制,读写分离,高可用。
数据库的概念和相关的语法和规范:
数据库:组织,存储,管理数据的仓库。
数据库的管理系统(DBMS):实现对数据有效组织,管理和存取的相同软件。
mysql
oracle 大数据系统一般使用
sql-server
MariaDB 也是mysql mysqld
postgreSQL 大象数据库

关系型数据库和非关系型数据库。

mysql oracle postgreSQL
关系型存储的结构:是一张二维的表格,表里面有行和列
列是对象,字段
行:对象的信息。字段的属性
行+列组成一张表
非关系型数据库:
缓存型数据库:redis
索引型数据库:ES
文档型数据库:MongoDB
键值对形式存储的结构
key value
test1=3
关系型数据库和非关系型数据库的优缺点
关系型的优点:表的结构清晰,逻辑任意整理,记录的数据比较完整。
缺点:读写速度比较慢,并发量差,数据迁移比较麻烦。
每个表都是关联的。
非关系型数据库优点:高并发读写。对海量数据依旧可以保持高效率的存储和访问。架构可拓展。
缺点:键值对形式存储,数据逻辑比较复杂,数据是保存在缓存中(redis),如果意外重启所有数据都会丢失。

mysql的数据类型

char:固定长度的字符类型,用于存储固定长度的字符串。
varchar:可变长度的字符类型,存储的是可变长度的字符串
char定义好了长度之后,不论写的值是多少,都会占用固定长度的字节大小。保存在磁盘上都是四个字节。
varchar在保存字符串时,是多少就保存多少,在保存的字符串结尾默认有一个隐藏的结束符,会多占一个字节。
varchar比char要节约磁盘空间
读写速度:char的读写速度性能要高于varchar,char是连续的磁盘空间,保存的内容是连续的。varchar在增删改查之后,会产生一个磁盘空间的碎片文件,影响读写性能。

int存储的数据类型是整数
float:单精度浮点数,小数点 float(m,d) m表示总位数,d表示小数位数。
double:双精度浮点数,double(m,d)m表示总位数,d表示小数位数。
date:用于存储日期, YYYY-MM-DD
datetime:用于存储日期和时间,格式:YYYY-MM-DD HH:MM:SS
timestamp:和datetime类似,但是他可以自动记录当前时间。
smallint:存储小整数
bigint:存储大整数
decimal(5,2):存储浮点,存储精度的浮点数,5表示总位数,2表示小数

数据库的管理:

增删改查-----sql语句
sql中的名词:
数据库:database
表:table
行:row
列:column
索引:index
视图:view
用户:user
权限:privilege
存储过程:procedure
存储函数:function
调度器:exent

sql的语言规范

在数据库系统中,sql语句不区分大小写,但是建议用大写
sql语句可以分单行和多行,但是必须要以";"结尾
命令规范:库名,表名,列的名字,必须以字母为开头,后面可以数字。后面也可以跟上特殊符号。
不要使用mysql的保留字:table database
数据库名,表名,用户名严格区分大小写。
sql语言的分类:
1.DDL 数据库定义语言:创建数据库的对象语言,库,表和索引等等
create drop
2.DML 数据库操作语言,对表里面的数据进行管理
select update insert delete
3.DQL 数据库查询语言,数据库的查询语句
select
4.DCL 数据控制语言,控制和管理数据库用户的角色和权限。
grant赋权 revoke取消权限
5.TCL事务控制语句,用来管理数据库的事务,脚本开发,存储过程等等
commit rollback savepoint

DDL:创建库和表的语句

在这里插入图片描述

在这里插入图片描述

删除表 DROP table 表名
删除库 drop database 库名

#删除名为student的表
drop table student;
#删除库名为xy102的表
drop database xy102;

DML和DQL 管理语句和查询语句

DML:insert 插入数据
insert into 表名(字段1,字段2,字段3) values (1,2,3);
insert into student(id,name,score) values(1,'环境',87.6);
insert into student values(2,'优点',22.33);
#查询表的结构
desc student;
#查询student这个表中谁的名字是空的。
select * from student where name is null;

null值和空值之间的区别:
null就是啥也没有,就是为空
空值也是值,只是值是空

修改和更新:update
update 表名 set 列名=值 where 条件;
update student set score=90 where id=4; 
删除表的数据
delete from 表名 where 条件;
delete from student where id = 2;
DQL语句,查询语句
select id,name from student;
查看指定行
select * from student limit 2,3  #显示第二行后面的三行
#第一行到第三行  select * from student limit 0,3;
去重查询
select distinct  name from student;
where语句 条件的筛选
select name from student where id = 4 and score=88.44; 
#and表示逻辑且    or表示逻辑或
#模糊查询like
#以什么为开头
select * from student where name like '顾%';
#以什么为结尾
select * from student where name like '%宝';
#包含内容
select * from student where name like '%顾%';
alter 修改表名和修改表的结构
#给表改名字
alter table student rename stu01;
#给表添加一个列
alter table stu01 add address varchar(50) default '地址不详';
#修改字段的数据类型
alter table stu01 modify column address char(10);
#删除列
alter table stu01 drop address;
#修改列的名称
alter table stu01 change sorce score char(10);
  • 19
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值