mysql数据库

数据库管理

1、sql语句 数据库用来增删改查的语句*

2、备份 数据库的数据进行备份

3、主从复制,读写分离 高可用*

数据库的概念和相关的语法和规范

数据库:组织,存储,管理数据库的仓库

数据库的关系系统(BDMS):实现对数据有效组织,管理和存储的系统软件。

mysql

oracle 大数据系统一般使用(付费贵)

sql-server

MariaDB 也是mysql mysqld

postgreSQL 大象数据库

关系型数据库

关系型数据库:mysql oracle postgreSQL

关系型数据库的存储结构:是一张二维的表格,表里面有行和列

列是对象 字段

行:对象的信息。字段的属性

行+列=表

非关系型数据库

缓存型数据库:redis

索引型数据库:ES

文档型数据库:MongoDB

键值对形式存储的结构

key value

关系型数据库和非关系型数据库优缺点:

关系型优点:表的结构清晰,逻辑容易整理,记录的数据比较完整。

缺点:读写速度比较慢,并发量差,数据迁移比较麻烦。

每个表之间都是关联的。

非关系型数据库优点: 高并发读写。对海量的数据都可以保持高效的存储和访问。架构扩展。

缺点: 键值对形式存储,数据逻辑比价复杂,数据是保存在文档中(redis),如果意外重启所有数据都会丢失

mysql的数据类型

char

char:固定长度的字符串类型,用于存储固定长度的字符串

char定义好了长度之后,不论你写的值是多少,都会占用固定长度的字节大小。保存在磁盘上都是4字节

varchar

varchar:可变长度的字符串类型,用于存储的是可变长度的字符串

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类似,但是他可以自动记录当前时间

smallinit:存储小整数

bigint:存储大整数

decimal(5,2)存储浮点数,存储精度的浮点数,5表示总位数,2表述小数位

数据库的管理

增删改查------sql语句

sql中的名词

数据库:database

表:table

行:row

列:column

索引:index

视图:view

用户:user

权限:privilege

存储过程:procedure

存储函数:funcrion

调度器:event

sql的语言规范

在数据库系统中,sql语句不分大小写,建议用大写

sql可以分单行和多行,必须要以英文的分号结尾

命令规范

库名,表名,列的名,都是字母开头,后面可以数字。后面也可以跟上特殊符号。

不要使用mysql的保留字符,

数据库名,表明,用户名,严格区分大小写。

sql语言的分类

1、DDL语言 数据库定义语言:用来创建数据库的对象语言,库 表 索引

create drop

2、DML语言 数据库操作语言,对表里面的数据进行管理

select update insert delete

3、DQL语言 数据库查询语言

select

4、DCL语言 数据控制语言,用来控制和管理数据库用户的角色和权限

grant revoke

5、tcl语言 事务控制语句,用来管理数据库的事务,脚本开发,存储过程

commit rollback savepoint

DDL:创建库和表的语句

条数据库的语句是连贯的,已分号为结尾表示一条完整的sq1.我们可以对一条语句进行分行的但是太长了,不方便阅读和理解。写法 关键词不能跨行
ecreate table test01(
id INT (4) not null;
#定义表的列的属性,数据类型不能为空
);
Null | Key | Default | Extra 
-----+-----+---------+-------
NO   |     | NULL    |       
NO   |     | NULL    |       
YES  |     | NULL    |    
​
key:表示是否是主键或者外键
default:如果没有数据的默认展示结果
extra:提供列的附加信息,自增长等等。
​
DROPdatabase xy10211;
#添加表
drop tables 协议0211;
删除表

DML:insert插入数据

写法一
insert into stdudent (id,name,score) values(1,'王',87.6);
写法二
insert into stdudent values(2,'王二',90);
null和空值之间的区别:
null就是啥也没有,就是为空,
空值也是值,只是值为空

更新和修改数据update

update 表名  set 列名=值  where 条件;
update stdudent set socre=100 where id = 1;
update stdudent set name='王' where id = 1;
删除表的数据delete
delete from 表名  where  条件;
delete from stdudent where id=1;

DQL查询语句

select 查询内容  from  表名;
select id,name,score from stdudent;
select name,score from stdudent;
select score from stdudent;
select * from stdudent limit 0,3;
查询1-3行
去重查询
select distinct name from stdudent;
select distinct name from 表明;

where语句 条件的筛选

and或
select * from stdudent where id = 1 and score =90;
or或
select * from stdudent where id = 1 or score =70;
​

模糊查询 like

以什么为结尾
select * from stdudent where name like '%王';
以什么为开头
select * from stdudent where name like '王%';
包含内容
select * from stdudent where name like '%王%';

alter 修改表名和修改表的结构

alter table  表名  rename  表名;
alter table stdudent rename student;

给表添加一列

alter table student add address varchar(50) default '地址不详'; 
为空的地方会变为’地址不详‘

修改字段的数据类型

alter table student modify column  address char(10);
删除列
alter table  表名  drop  名称
alter table student drop address;

修改列的名称

alter table student change name usename varchar(10);
               原名                 现名       #数据类型不变,修改时要加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值