MySql数据表、结构数据库管理

数据库管理

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

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

3、主从辅助,读写分离 高可用。

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

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

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

mysql

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

sql-server (基本淘汰)

MariaDB 也是mysql mysqld

postgreSQL 大象数据库


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

关系型数据库:

mysql oracle postgreSQL

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

列是对象 ,字段

行是记录对象的信息,字段的属性。

行+列组成一张表。

非关系型数据库:

缓存型数据库:redis

索引型数据库:ES

文档型数据库:MongDB

键值对形式存储的结构

key value

test1=3

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

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

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

每个表都是关联的。

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

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


mysql的数据类型

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

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

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

varchar特点:在保存字符串时,是多少就保存多少,在保存的字符串结尾默认有一个隐藏的结束符,会多占一个字节。

varchar比char要节约磁盘空间

读写速度:char的读写速度性能要高于varchar,char是连续的磁盘空间,保存的内容是连续的。

varchar在增删改查之后,会产生一个磁盘空间的碎片文件,影响读写性能。

int存储的数据类型为整数

float:单精度浮点数,小数点 float(m,d) m表示总位数,d表示小数位数。

double:双精度浮点数 double(m,d) m表示总位数,d表示小数位数。

data:用于存储日期, YYYY-MM-DD

datetime 用来存储日志和时间,格式YYYY-MMM-DD HH:MM:SS

timestamp:和datetime类似,但是他可以自动记录当前时间。

smallinit:存储小整数

bigint:存储大整数

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


数据库的管理

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

sql中的名词:

数据库:database

表:tables

行:row

列:column

索引:index

视图:view

用户:user

权限:privilege

存储过程:procedure

存储函数:funcrion

调度器:event


sql的语言规范

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

sql语句可以分单行和多行,但是必须要以";"为结尾

命令规范:

库民、表名、列名的名字,必须以为字母开头,后面可以数字,后面也可以跟上特殊符号。

不要使用mysql的保留字,tables select show databases

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


sql语言的分类

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

create drop

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

select update insert delete

3、DQL数据库查询语句

select

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

grant revoke

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

commit rollback savepoint


DDL:创建库和表的语句

一条数据的语句是连贯的,以分号为结尾表示一条完整的sql,但是太长了,不方便阅读和理解。我们可以对一条语句进行分行的写法,关键词不能跨行。

id int (4) not null ,

定义表的列的属性,数据类型和是否为空

Key | Default | Extra

| ------+-------+

| NULL | | | NULL | | | NULL | |

key :表示是否是主键或者外键

default:如果没有数据的默认展示结果

extra:提供列的附加信息,自增长等等

创建库名:create  database   +库名

创建表名:create  table  + 表名

删除库:drop database +库名

删除表:drop table +表名


DML数据操作语言:

insert 插入数据

insert  into  +表名(字段1,字段2,字段3) values(1,2,3);

null和空值之间的区别:

null就是什么也没有,就是为空

空值也是值,只是值是空的

update修改和更新:

uptate +表名 set +列名=值  where 条件;

delete删除表的数据

delete from +表名  where 条件;


DQL查询语句:

select +列名 from + 表名;

查看指定行:

select * from student limit 2,3;

显示第二行之后的三行

去重查询:

select distinct +重复的名称 from student;

where语句 条件的筛选:

select * from +表名 where 列名 and 列名 且

select * from +表名 where 列名 or 列名 或

模糊查询:

like

select * from student where name like '名称%';

以什么开头

select * from student where name like '%名称';

以什么为结尾

select * from student where name like '%名称%';

以包含方内容式


ALTER 修改表名和修改表结构

alter table +旧表名 rename +新表名;

给表添加一列:

alter table +表名 add +列名 varchar(50)default '地址不详';

修改字段的数据类型:

alter table +表名 modify column +列名 char(10);

删除列:

alter table +表名 drop +列名;

修改列的名称:

alter table +表名 change name usename char(10);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值