关系型数据库mysql_关系型数据库之MYSQL

关系型数据库(SQL)

数据库就是用来储存数据的仓库,分为关系型数据库和非关系型数据库,通过关系模型存储数据,称之为“关系型数据库”,简言之就是存储数据的多张表之间存在关联关系。

关系型数据库关系型数据库(SQL)特点:储存方式固定,安全。基本命令(常用进出数据库系统)查看已有虚拟环境:workon

进入虚拟环境:workon+虚拟环境名

退出虚拟环境:deactivate

进入数据库操作系统:mysql -u+用户名 -p+密码

MySQL数据库MySQL数据库作为关系型数据库的一种,也是我们最常用的一种。MySQL数据库的特点性能卓越,服务稳定,很少出现异常宕机;

开放源代码无版本制约,自主性及使用成本低;

历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助;

软件体积小,安装使用简单且易于维护,维护成本低;品牌口碑效应;

支持多种OS,提供多种API接口,支持多种开发语言,对流行的PHP,JAVA很好的支持。

数据库的表数据操作

(数据库命令末尾加 “ ; ”)查看当时时间:select now;

展示已有数据库:show databeses;

查看数据库结构:show create database db_name;

创建数据库及其设置默认编码:create database db_name charater set utf8;(现有ubuntu以默认为utf-8)

进入数据库:use db_name;

展示已有表格:show tables;

查看表结构:show create table tb_name或者desc tb_name;

创建表格且添加属性:create table tb_name(字段,字段属性))

展示表格内容:select * from tb_name/表格属性desc tb_name

插入数据(数据的增删改查)insert into tb_name(字段名(可不写)) value's'(字段值,字段值····)

数据的(全部)删除:delete from (if exist)tb_name;(condition条件删除)

表格的删除:drop tb_name;

枚举:enum;

数据的更改:update tb_name set 修改属性=属性值 where 判定属性=判定值;

比较运算符:=,=,>,!=(<>),is null,is not null.

逻辑运算符:and,not,or。

排序:select columns from tb_name order by column asc/desc(正逆序,默认正序)

限制:select * from tb_name limit start_index(索引开始位置),count_index.

去重:select distinct * from tb_name.

模糊查询:like 'qwewd%'(1.任意多字符:%,2.任意一个字符:_ )

范围查找

1.连续范围:between a and b,

2.间隔返回:in

# 举个例子

a in (10,20,30[...])

聚合分组常用聚合函数:(只有count里可以写*。)

统计个数:count(column)

求和:sum(column)

最大值:max(column)

最小值:min(column)

平均值:avg(column)

列出字段值:group_concat(column):

select column1 from tb_name group by column1.

select 聚合函数(column1) from tb_name group by column*.

后可以加筛选条件(同where):having+条件。

先执行where,再执行聚合函数和别名(as),最后执行having。

特殊命令

一、子查询(了解):

select 中镶嵌select。

二、连接查询(了解):# 内连接(inner join):

无条件内连接:一张表的每一项都会和另一张表的每一项依次连接。

select * from tb_name1 [inner] join tb_name2。

有条件连接:在无条件连接的基础上,加上一个on子句,当连接的时候,筛选出那些有实际意义的记录来进行组合。

select * from tb_name [inner] join tb_name2 on tb_name1.column1=···。# 外连接({left | right} join默认左外连接):

左外连接:(以左表为基准)

两张表做连接的时候,在连接条件不匹配的时候,留下左表中的数据,而右表中的数据以NULL填充

右外连接:(以右表为基准)

对两张表做连接的时候,在连接条件不匹配的时候,留下右表中的数据,而左表中的数据以NULL填充

select * from tb_name1 left|right join tb_name2 on tb_name1.column1=tb_name2.column2。

表结构的修改修改表名:alter table 原名 to 新名,

修改字段名:alter table tb_name change 原名 新名 字段属性,

修改字段属性:alter table tb_name modify 字段名 属性,

添加字段:alter table tb_name add 字段名 属性,

删除字段:alter table tb_name drop 字段名,

约束条件:默认约束·:默认赋值default,默认为null(空),

非空约束:not null,空字符不等于空

唯一约束:unique key,

主键约束:primary key,非空且唯一

自增长约束(一般绑定在主键上):auto_increment。(一个表里只能由一个自增长)

外键约束:foreign key

表关系分类表关系含义:两表连接(外键:次表外键有,主表一定有,主表没有,次表外键一定没有):foreign key+(次表主键属性名) +references 主表(主表主键属性名)一对一:两个连接的字段均要设置主键

多对多:(需要一个中间表,联合主键(两个字段不能同时重复primary key(c_id,s_id)))

一对多:次表不用主键绑定字段。关系型数据库之MYSQL​mp.weixin.qq.com332391a3ca560da1387b9de11a2cc8d2.png

更多有趣资料和干货学习,欢迎关注!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值