day 41 数据库初学习
前情提要:
数据库初识别
一:数据库的介绍
https://github.com/Endless-Clould/homework/blob/master/student_system.sql
数据再这
好处:
持久化存储
读写速度极高
保证数据的有效性
对程序支持性非常好,容易扩展
数据库就是一个由一批分门别类的数据构成的有序集合,这个集合通常被保存为一个或多个彼此相关的文件,
我们可以理解为,数据库就是一种特殊的文件,其中存储着需要的数据。
二:数据库的类型
1.1 关系型数据库(RDBMS)
关系型数据库(RDBMS)
RDBMS即关系数据库管理系统(Relational Database Management System)
oracle、mysql、ms sql server、sqlite
关系型数据库:数据库里面的数据全部存在数据表中,而这些表在存储的过程中,各自之间有内在联系。因为这种联系,我们称这样的数据库叫"关系型数据库"
优点:
容易理解,二维表结构
使用方便,通用的SQL语言使得操作关系型数据库非常方便,便于复杂的查询
支持事务等复杂的数据操作功能
1.2 非关系型数据库(nosql)
NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。
MongoDB,Redis
优点:
数据之间无关系,容扩展
结构简单,具有非常高的读写性能,在大数据量下,同样表现优秀
无需事先建立字段,随时可以存储自定义的数据格式
二.1:关系型数据库的核心元素

三:mysql 的基本介绍
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般网站软件的开发都选择 MySQL 作为网站数据库。
MySQL是一种客户端/服务器端(C/S)的软件,我们要学会如何如何安装服务器端的MySQL,还需要学会如何利用客户端工具操作MySQL数据,常用的客服端工具有: 命令行、pycharm-database、Navicat等
下载:https://dev.mysql.com/downloads/windows
services.msc
四:常用的入门操作命令
mysql -uroot -p密码 命令行链接 mysql
status; 查看数据状态信息
exit、quit 退出数据库连接
show databases; 显示所有的数据库
create database data charset=utf8; 新创建一个数据库
use 数据库名; 选择要编辑的数据库,例如是data,则语句就是 use data;
select database(); 查看当前在哪个数据库下
show tables; 展示数据库下所有的表
\c 当你输入有误,想重打的时候可以试试加个 \c 取消
source 数据库文件名.sql; 导入数据库到mysql中
可以把别人事先创建好的数据库文件导入到当前电脑的mysql中
desc `表名`; 查看表结构信息
sql
SQL,指结构化查询语言,全称是 Structured Query Language,是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,可以让我们可以处理数据库。
SQL语句主要分为:
DQL:数据查询语言,用于对数据进行查询,如select
DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete
DDL:数据定义语言,进行数据库、表的管理等,如create、drop
TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback
DCL:数据控制语言,进行授权与权限回收,如grant、revoke
CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
>基本书写规则

DQl
>查询
查询 SELECT
select 字段1,字段2 from 表名 从指定表中查询所有数据的字段1和字段2信息
按条件查询数据
select 字段1,字段2 from 表名 WHERE 字段名 = 字段值;
1、查找学生表的姓名跟年龄
SELECT name,age FROM student;
查找课程表中的id,课程名称和教室编号
select id,course,address from course;
2、查找学生表所有的信息
SELET * FROM student;
3、为字段名设置别名,简化字段名
SELECT name AS n,age AS a FROM student;
4、使用条件查询想要的数据,查学号为14的学生姓名
SELECT name FROM student WHERE id = 14;
使用条件查询名字叫'吴杰'的学生姓名和年龄
SELECT name,age FROM student WHERE name='吴杰';
注意:应该根据你的实际需求查询所要的字段值,而不是使用 * ,使用这个效率很低。
>按照条件查询
>逻辑运算符


>范围运算符

>比较预算符

>in 运算符(多条件查询)

>模糊查询

>聚合运算

>分组查询

>结果查询

>结果限制

DML
>添加数据(INSERT)

>更新数据(UPDATE)

>删除数据(DELETE)

DDL

作业:
学生表操作:
1. 查询出班级205有多少个男生

2. 查询出名字为4个字的所有学生信息(编号、姓名,年龄,班级)

3. 查询出所有姓王的学生信息(编号、姓名,年龄,班级)

4. 查询出班级编号为201,202,203的女生总人数

5. 查询出学号整十的所有女生信息(姓名、年龄、个人简介)

6. 删除301班级中年龄在23岁以上的学生信息

7. 把一个叫'卫然'的学生的姓别改成女的

8. 把401班级中的姓名为'吴杰'的学生信息删除
-- DELETE FROM student where name ="吴杰 and class =401
9. 计算305班中所有学生的平均年龄以及他们的最大年龄和最小年龄

10. 查询401,402,403,404,405中所有学生的年龄平均值

11. 查询出所有学生中"白"的学生信息,并对他们使用年龄进行升序排列

12. 添加以下学生记录到数据表中
姓名 年龄 性别 班级 个性签名
张三丰 22 1 301 我是武当老板
张翠山 21 1 302 我是武当老板的五弟子
张无忌 20 1 302 明教老板

13. 查询年龄在18-20之间的姓李的女生

14. 查询年龄在18-20之间的所有女生,并按照编号进行降序排序

15. 查询出301,302,303,304,305,306中每个班级总人数。

成绩表操作
16. 查询出学号为9的学生的总成绩

17. 查询出课程编号为4的课程平均成绩

18. 查询出学号为6的学生的所有成绩,并显示对应的课程编号。

19. 查询出课程编号为20的课程成绩,并进行分数的降序排列,显示10个成绩即可。

20. 查询出学号为1,2,3,4,5,6这几个学员的平均成绩。

21. 查询出证成绩表中每个学科的平均成绩。

day 41 数据库初学习的更多相关文章
- c# window服务-初学习
window服务-初学习 一.工具: VS2015+NET Framework4.5. 二.操作: 1.新建windows服务的项目: 2.修改windows服务相关内容: 3.预览windows服务 ...
- NoSQL 数据库产品学习总结(一)
NoSQL 数据库产品学习总结(一) 本篇文章共分为四个章节,会陆续整理下 Memcached.Redis.tair.mongodb.hbase.SequoiaDB. Cassandra的相关知识. ...
- JDBC操作数据库的学习(2)
在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本 ...
- mySQl数据库的学习笔记
mySQl数据库的学习笔记... ------------------ Dos命令--先在记事本中写.然后再粘贴到Dos中去 -------------------------------- mySQ ...
- clisp, scheme 和 clojure 初学习
clisp, scheme和clojure 初学习 1 clojure "clojure绝对会成为你的编程工具箱里的终极武器" "其他语言可能只是工具,但 Clojure ...
- Mysql数据库基础学习笔记
Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...
- TimesTen 应用层数据库缓存学习:4. 仅仅读缓存
在运行本文样例前.首先先运行TimesTen 应用层数据库缓存学习:2. 环境准备中的操作. Read-only Cache Group的概念 仅仅读缓存组例如以下图: 仅仅读缓存组(Read-Onl ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- Python初学习:简单的练习题
Python初学习 一些见到那的练习题: 初级难度 设计一重量转换器,输入以g为单位的数字后,返回换算结果以Kg为单位的结果 中级难度 设计一个求直角三角形斜边长的函数,(以两个直角边为参数,求最长边 ...
随机推荐
- @Id 和 @column 注解 使用注意
当@Id写字啊 field 上时 ,如过 把 @column 写在 getter 方法上 ,会出现错误 或者不起作用 Unknown column 'gecompanys0_.sourcec' in ...
- C变参数函数demo
#include <stdio.h> #include <stdarg.h> int sum(int a,...) { int temp = 0,sum=0,count ...
- 关于多系统跨浏览器 BrowserStack 的使用
偶然在Scott Hanselman Blogs看到一篇关于 BrowserStack 博文,对于前端多浏览器测试. 现在拥有各自内核的浏览器越来越多,各自的特性也千差万别.如果作为一个前端攻城师想要 ...
- Json和XML解析
NSXMLParse 关于XML,有两种解析方式,分别是SAX(Simple API for XML,基于事件驱动的解析方式,逐行解析数据,采用协议回调机制)和DOM(Document Object ...
- 学习Java的方法
许多人在刚开始学习Java时,会因为学习方法的不正确,而丧失信心,从而半途而废.所以,今天,巩固就要教教大家学习Java的方法. 1.多练习 编程其实是一个非常抽象的东西,要想学好它,就不能只是看看书 ...
- Django介绍(3)
https://www.cnblogs.com/yuanchenqi/articles/5786089.html
- UVa 111 History Grading (简单DP,LIS或LCS)
题意:题意就是坑,看不大懂么,结果就做不对,如果看懂了就so easy了,给定n个事件,注意的是, 它给的是第i个事件发生在第多少位,并不是像我们想的,第i位是哪个事件,举个例子吧,4 2 3 1, ...
- Linux将程序添加到服务的方法(通用)
一:咱们通过这篇文章来演示怎么将某个程序作为服务(就类似Windows服务可以开机自动启动),这里以tomcat为例,已经亲测过: 二:步骤(最好用root用户来做这种事情,切换root用户记得su ...
- linux上搭建私服
环境centos7 解压到/usr/localtar -zxvf /home/ckl/upload/nexus-2.14.3-02-bundle.tar.gz -C /usr/local/ 注意: 一 ...
- 解决火狐浏览器发送jquery的ajax请求无效的问题
今天遇到这样一个问题: 页面在chrome下发送ajax的请求是没有问题的,但是在firfox下无效. 代码大致如下: //前面省略 <form> ..... <button cla ...