数据库概要

什么是数据库

Excle的数据的确很方便,但是对于企业来说就不一样了。一个公司里面可能有成千上万的Excel表格,还在不同的电脑上,而他们的员工和客户需要实时看到企业给他们提供的所有数据,这种文件管理的方法就很麻烦,总不能每分钟都把一个新的巨大无比的Excel文件发给所有客户呀。

数据库呢,就是存储数据的地方,就像冰箱是存储食物的地方一样。正是因为有了数据库后,所有人可以直接在这个系统上查找数据和修改数据。例如你每天使用余额宝查看自己的账户收益,就是从后台数据库读取数据后给你的。

数据库的英文名称叫DB(Database),那么数据库里面有什么东东呢?

其实,数据库通常包含一个或多个表组成。如果你用过Excel,就会知道Excel是一张一张的二维表。每个表都是由列和行组成的,其中每一列都用名字来标识出来。同样的,数据库里存放的也是一张一张的表,只不过各个表之间是有联系的。所以,简单来说:

数据库=多张表+各表之间的关系

其实数据库是逻辑上的概念,它是一堆互相关联的数据,放在物理实体上,是一堆写在磁盘上的文件,文件中有数据。这些最基础的数据组成了表(table)。

常用的数据库软件,例如MySQL、Oracle、SQL Server等都是实现上面理论的数据库。各个数据库软件的使用差别大同小异,但是因为MySQL是开源的,成为各大公司使用的主流,面试也主要以MySQL为主。

数据库是按照数据的结构来组织,存储,和管理数据的仓库,简而言之,就是存放数据的仓库

数据库和SQL是什么关系?

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

数据库里面放着数据,而SQL是用来操作数据库里数据的语言(工具)。

例如有一碗米饭(碗就是mysql,里面放的米是数据),你要吃碗里的米饭,拿什么吃?拿筷子(sql)。用筷子(sql)操作碗里(mysql)的米饭(数据)

数据库有哪些?

Oracle是最挣钱的数据库,出自甲骨文公司,市场占有率非常高,功能非常强大,被一些大型企业,电信,银行,证券公司所使用

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL目前最流行的开源数据库,被甲骨文公司所占用,威胁着老大Oracle的地位,开源,免费,支持多平台,易用

SQLServer,微软开发的数据库,仅支持Windows操作系统,号称是windows上最好用的数据库。数据库的天下不仅仅是MySQL和Oracle的,SQLServer也正在慢慢崛起,微软网罗了不少数据库的专家,推出了不少重磅功能。

MongoDB,最好用的文档型数据库,是NOSQL类型数据库的领导者之一,也是当前最成功的NoSQL类型数据库,数据存储格式采用JSON形式,非常灵活。

Redis,最好的内存级数据库,查询效率极高,并且在Redis 3.0之后,支持多种数据类型,String,Set,List,Hash等类型,开始支持集群,弥补了自身短板。是目前做缓存最流行的数据库

Neo4J,最好的图形化数据库,流行话较低,但是图形化数据库的绝对领导者。

SQLite,最流行的嵌入式数据库,占领手机行业的绝对领导者地位,Android和IOS两大手机系统,都内嵌了SQLite数据库,SQLite是一个完整的关系型数据库,支持标准SQL,支持事务操作,程序包非常小,是嵌入式设备的最佳选择。

数据类型的属性

MySQL关键字

含义

NULL

数据列可包含NULL值

NOT NULL

数据列不允许包含NULL值

DEFAULT

默认值

PRIMARY KEY

主键

AUTO_INCREMENT

自动递增,适用于整数类型

UNSIGNED

无符号

CHARACTER SET name

指定一个字符集

表结构语句操作

选择数据库

user mydb1

创建MySQL数据表需要以下信息:

表名

表字段名

定义每个表字段

创建表

create table student(id int,name varchar(20),sex varchar(20),age int,salery float(6,2),birthday date)

删除表

drop table student;

查看所有表

show tables

查看表的创建细节

show create table student;

展示表结构

desc student

在原有的学生基础上添加address列

alter table student add address varchar(20)

在原有的学生基础上删除address列

alter table student drop address

在原有的学生基础上修改address列的类型和长度

alter table student MODIFY COLUMN address VARCHAR(40);

注意:(同样类型的数据字段增加长度是没问题的,也是经常使用的,但是减小长度可能会导致数据丢失;注意修改类型应该谨慎,因为类型之间数据需要转换,可能会导致数据出错或者丢失)

数据库操作语言

 插入数据

insert into student values(1,’zhangsan’,’nan’,19,389.10,’1999-10-10’);

查询

select * from student

删除单条数据

delete from student where id=1;

修改数据

设置所有人的年龄加10岁

update student set age=age+10

普通条件查询

查询所有学生信息

select * from student;

查询id为1的学生信息

select * from student where id=1;

 模糊查询

查询所有姓名中包含张的同学

select * from student where name like ‘%张%’

排序查询

按照数学成绩从小到大查询

select * from student order by math;

分页查询

limit是mysql的语法

select * from table limit m,n

分组查询

 select * from employee group by sex;

报表查询

统计班级里边有多少学生

select count(*)from student;

统计总成绩大于250分的人数

select count(*)from student where (math+english+chinese)>250;

统计班级里边各科总成绩

select sum(math),sum(english),sum(chinese) from student

统计所有科目的总成绩

select sum(math+english+chinese) from student;

统计一下语文平均成绩

select sum(chinese)/count(*) from student;

select avg(chinese) from student;

统计一下班级语文最高分和最低分

select max(chinese) from student;

select min(chinese) from student;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值