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为单位的结果 中级难度 设计一个求直角三角形斜边长的函数,(以两个直角边为参数,求最长边 ...
随机推荐
- UI设计:掌握这6点,轻松0到1
非科班出身能成为UI设计师吗? 答案是肯定的.世上无难事,只怕有心人.只要找对方法.坚持不懈,即便是零基础也能学好UI设计. 那么零基础学习UI设计,需要学习哪些知识?我们要从哪些地方学起?怎么系统学 ...
- Linux 修改 IP地址 和 网关
修改IP地址和网关是很常见的操作,在做相关实验的时候,如果没有设置好,会带来很多不必要的麻烦.. 1. 修改IP地址vi /etc/sysconfig/network-scripts/ifcfg-et ...
- $clog2(转)
(转http://www.xilinx.com/support/answers/44586.html) 13.2 Verilog $clog2 function implemented imprope ...
- 【翻译】JavaScript框架的最终指南
翻译原文链接 我的翻译小站 紧跟JavaScript框架的脚步是一个挑战.现在有太多的框架,几乎一个月就会出来一个新的.那么如何知道到底哪一个比较合适你的项目呢?它们分别有什么优点和缺点呢?你要如何开 ...
- 解决Error creating bean with name 'huayuanjingguanDaoimp' defined in file [D:\apache-tomcat-7.0.52\webapps\landscapings\WEB-INF\classes\com\itheima\landscaping\dao\imp\huayuanjingguanDaoimp.class]: Invo
问题描述: 10:23:13,585 ERROR ContextLoader:307 - Context initialization failedorg.springframework.beans. ...
- D3_book 11.3 force
<!-- pie example --> <!DOCTYPE html> <meta charset="utf-8"> <style> ...
- 团队博客-第三周:需求改进&系统设计(科利尔拉弗队)
针对课堂讨论环节老师和其他组的问题及建议,对修改选题及需求进行修改 需求规格说明书: 1.打开网页,弹出询问时候创建账号.是:分配数字组成账号,用户填写密码,确定登录进入首页:否,用已有账号登录(传参 ...
- delphi字符串固定长度换行
var str,capstr:string; i,j:integer; .................... j:=500; //这个地方可能要根据你显示的宽度来换算对应的字符长度 ...
- Android App 退出整个应用
在做Android APP 过程中,有退出整个Project的功能,以下就是接受退出整个应用的操作: ActivityManager是用来管理记录每一个Activity,最后统一用来退出结束: pub ...
- ECG心电图数据2
1.如何下载获取MIT-BIH的数据从下面这个官方链接页面可以下载到所有48组MIT-BIH心电数据: http://www.physionet.org/physiobank/database/mit ...