SQL(一)- 数据库介绍与基础操作

数据库介绍

一、常用的数据库分为两大类:
  • 关系型数据库
  • 非关系型数据库(NoSql)
关系型数据库

概念:是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

关系型数据库的优势:

  • 保持数据的一致性(事务处理)
  • 由于以标准化为前提,数据更新的开销很小(相同的字段基本上都只有一处)
  • 可以进行Join等复杂查询

缺点:

  • 高并发读写需求:网站的用户并发非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈
  • 海量数据的高效率读写:对于数据量巨大的网站来说,关系型数据库的查询效率非常低
非关系型数据库

非关系型数据库也叫NoSQL。区别于关系数据库,它们不保证关系数据的ACID特性。NoSQL是一项全新的数据库革命性运动,其拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

优点:

  • 成本:NoSql数据库简单易部署,基本都是开源软件,不需要使用像oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。
  • 查询速度:NoSql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及NoSql数据库。
  • 存储格式:NoSql数据库的存储格式是Key,Value形式,文档形式,图片形式等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。
  • 扩展性:关系型数据库有类似join这样的多表查询机制的限制,导致扩展很艰难。

缺点

  • 维护的工具和资料有限,因为NoSql属于新技术,不能和关系型数据库10几年的技术同日而语。
  • 不提供对Sql的支持,如果不支持Sql这样的工业标准,将产生一定用户的学习和使用成本。
  • 不提供关系型数据库对事物的处理。

常见的关系型数据库

  1. Mysql(美国,甲骨文公司)
  2. Oracle(美国,甲骨文公司)
  3. Sql Server(美国,微软公司)
  4. DB2(美国,IBM公司)

常见的非关系型数据库

  • Redis[键值存储数据库]
  • MongoDB[键值存储数据库]
二、SQL、DB、DBMS分别是什么?他们之间时什么关系?
  • DB:DataBase(数据库,数据库实际在硬盘上以文件的形式存在)
  • DBMS:DataBase Management
    System(数据库管理系统,常用的有:MySQL、Oracle、DB2、Sybase、sqlServer……)
  • SQL:结构化查询语言,是一门标准的通用语言,标准的sql适合于所有的数据库产品。

SQL属于高级语言,只要能看懂英语单词,写出的SQL语句,可以读懂什么意思。

SQL语句在执行的时候,实际上内部也会进行编译,然后在执行sql(编译有DBMS完 成)

DBMS负责执行程序员写的sql语句,通过执行sql语句来操作DB中的数据。

DBMS -(执行)-> SQL - (操作) -> DB

三、什么是表?

表:table是数据库的基本组成单元,所有的数据都要以表的形式组织,目的是可读性强。

一个表包括行和列:
行:被称为数据/记录(data)
列:被称为字段(column)
在这里插入图片描述
每一个字段应该包括哪些属性

  • 字段名
  • 数据类型
  • 相关的约束
四、那么SQL语句包括增删改查,SQL语句怎么分类呢?
DQL(数据查询语言): 查询语句,凡是select语句都是DQL。
DML(数据操作语言):insert delete update,对表当中的数据进行增删改。
DDL(数据定义语言):create drop alter,对表结构的增删改。
TCL(事务控制语言):commit提交事务,rollback回滚事务。(TCL中的T是Transaction)
DCL(数据控制语言): grant授权、revoke撤销权限等。

SQL的基础操作

假设我们现在以经成功安装了MySQL,下面开始介绍MySQL的基础操作。

1.启动/停止mysql

net start mysql
net stop mysql

注意:如果是安装win版本,执行语句的时候提示“拒绝访问”,可以推出命令提示符,用管理员权限打开命令提示符即可。

2.登录mysql账号密码

mysql -uroot -p  //回车后输入密码
Enter password: *****

3.修改密码

alter user user() identified by "新密码"

4.登录进去后查看有哪些数据库

show databases;

5.创建属于我们自己的数据库(bjpowernode)

create database bjpowernode;

6.使用数据库(bjpowernode)

use bjpowernode;

7.查看数据库中的表;

show tables;

8.创建自己的表(studentstest)如下参考图片
在这里插入图片描述

create table studentstest(
id int not null,
name char(10) not null);

8.初始化数据

source 文件路径\XXX.sql

在这里插入图片描述

注意:初始化数据可以不要分号“;”
这里用于初始化的文件称为sql脚本文件—bjpowernode.sql

bjpowernode.sql,这个文件以sql结尾,这样的文件被称为“sql脚本”。什么是sql脚本呢?

当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称这样的文件为sql脚本。

注意:直接使用source命令可以执行sql脚本。

sql脚本中的数据量太大的时候,无法打开,请使用source命令完成初始化。

bjpowernode.sql中包含了三张表格,在对它完成初始化后,数据库中就得到了这三张表后面我们在练习SQL查询语句的时候就拿这三张表格来重点反复练习。下面分别介绍一下这三张表格
查看当前数据库中的表:

查看数据库中的表;

show tables;

在这里插入图片描述
9.查看表的数据结构:

desc 表名;

表一:部门表
在这里插入图片描述
表二:员工信息表

在这里插入图片描述
表三:薪资表
在这里插入图片描述
10.删除表格

drop tables 表名;

11.删除表格

drop database 数据库名;

12.查看表中数据:

select 字段 from 表名;

我们刚好可以顺便看看前面三张表中的数据吧:

员工表中的数据:
在这里插入图片描述
部门表中的数据:
在这里插入图片描述
薪资表中的数据:
在这里插入图片描述
13.查看当前使用的是哪个数据库:

select database();

13.查看当前使用mysql的版本:

select version();

14.查看当前使用的是哪个数据库:

select 字段 from 表名;

15.命令,提前结束一条语句(写到一半不想写了):

\c

16.命令,推出mysql:

exit / quit / Ctrl + C

13.查看创建表的语句:

show create table 表名;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最少硬币问题-dp

题目: 有5种硬币,面值分别为:1,5,10,25,50。数量无限,输入非负整数s,选用硬币,使其和为s。要求输出最少的硬币组合要多少个硬币? 数据范围: s最大为250. 解题思路: 有时…

python加密与解密_Python加密与解密,pythonCrypt,和

from Crypto.Cipher import AESclass DeAesCrypt:"""AES-128-CBC 加/解密, Padding ZERO模式"""def __init__(self, data, key, pad):""":param data: 加密后的字符串,或者需要加密的字符串:param key: 随机的16位字符:param pad…

opencv +数字识别

现在很多场景需要使用的数字识别,比如银行卡识别,以及车牌识别等,在AI领域有很多图像识别算法,大多是居于opencv 或者谷歌开源的tesseract 识别.由于公司业务需要,需要开发一个客户端程序,同时需要在xp这种…

SQL(二)- 基础查询语句

简单的查询语句(DQL) 下面我们正式来学习查询语句,下面所有查询用到的表均为前面提到的三张表: 员工表中的数据: 部门表中的数据: 薪资表中的数据: 基本查询语句的语法: sele…

image 微信小程序flex_【微信小程序】flex布局一旦遇上for循环就失效

代码如下:wxml部分:{{item.name}}wxss部分:.skill .box {width: 100%;display: flex;flex-flow: row wrap;align-content: space-around;}.skill .skill-item {box-sizing: border-box;flex: 0 0 33.3333333333333%;font-size: 24rpx;color: …

SQL(三)- 连接查询

连接查询概念 一、什么是连接查询? 在实际开发中,大部分的情况下都不是从单张表中查询数据,一般都是多张表联合查询最终取出最终结果。在实际再发中,一般一个业务都会对应多张表,比如学生和班级,最起码两…

远程办公也可以很高效

题图:我的站立办公环境因为疫情,全中国人民都过了一个难忘的春节,而身在武汉的我,更是没有出家门半步,坚决做到不过国家添乱。从开始的2月14到后来的2月20日,再到现在的3月10日,官方发布的复工日…

github 检查代码质量_Android(8): 代码质量检查

代码质量检查是持续性的工作,检查的两个基本工具是FindBugs和CheckStyle。在实际项目中,检查的工作由测试人员实施,开发人员进行配合,形成日常性的工作。每天会对最新的代码进行检查,使用脚本(一般是测试用python写的)…

打印最少硬币的组合-dp+记录路径

题目: 有5种硬币,面值分别为:1,5,10,25,50。数量无限,输入非负整数s,选用硬币,使其和为s。要求输出最少的硬币组合的方案? 数据范围: s最大为250. 解题思路: 有时间再写…

SQL(四) - 子查询和union以及limit分页

子查询概念 什么是子查询?子查询都可以出现在哪里? select语句当中嵌套select语句,被嵌套的select语句是子查询。 子查询可以出现在哪里? select..(select). from..(select). where..(select).1.where子句中使用子查询 案例&a…

ASP.NET Core中的Http缓存

ASP.NET Core中的Http缓存Http响应缓存可减少客户端或代理对 web服务器发出的请求数。响应缓存还减少了 web服务器生成响应所需的工作量。响应缓存由 Http请求中的 header控制。而 ASP.NETCore对其都有相应的实现,并不需要了解里面的工作细节,即可对其进…

maven 排除配置文件打包_Maven打包pom里面配置exclude 排除掉环境相关的配置文件...

Maven打包pom里面配置exclude 排除掉环境相关的配置文件有几种方式:1. 打包时,指定环境参数把环境的配置文件复制过去2. 不打包所有的环境相关的配置文件,直接由运维的人维护可以在上传war包前把配置给改了,用rar工具改里面的配置…

快速幂(取模)模板

快速幂 代码如下: int fastpow(int x,int n) {if (n1) return x;int tmp fastpow(x,n/2);if (n%2){return tmp*tmp*x;}else return tmp*tmp; }位运算优化快速幂 代码如下: int fastpow(int x, int n) {int res 1;while (n) {if (n & 1)res * x;x…

SQL(五) - 表的创建以及操作

创建表 建表语句的语法格式: create table 表名(字段名1 数据类型,字段名2 数据类型,字段名3 数据类型,....);MySql常用数据类型 BLOB 二进制大对象(存储图片、视频等流媒体信息) Binary Large OBject (对应java中的Object&…

Istio 2020 年 Roadmap——一切为了商用

原文地址:https://preliminary.istio.io/zh/blog/2020/tradewinds-2020/,由 ServiceMesher 社区翻译。Istio 解决了人们在运行微服务时遇到的实际问题。甚至早期的预发行版本就已经可以帮助用户诊断其体系架构中的延迟,提高服务的可靠性以及透…

SQL(七) - 事务、索引、视图

事务(Transaction) 3.1、什么是事务? 一个事务是一个完整的业务逻辑单元,不可再分。 比如:银行账户转账,从A账户向B账户转账10000.需要执行两条update语句: update t_act set balance balan…

python二维数组遍历输出每行最大值_如何在二维数组中找到每行的最大值?

例如,我有一个二维数组:[[0.0,0.24320757858085434,0.14893361727523413,0.29786723455046826,0.18838778030301612,0.12160378929042717],[0.23717478210768014,0.0,0.16770789675478251,0.20539938644228997,0.25981195646349819,0.1299059782317491],…

GCD、LCM模板

最大公约数GCD 整数a和b的最大公约数记为gcd(a,b)。 代码如下: int gcd(int a,int b) {return b 0?a:gcd(b,a%b); }int gcd(int a, int b) {return b ? gcd(b, a % b) : a; }最小公约数LCM 整数a和b的最小公倍数记为lcm(a,b)。 代码如下: int lcm(i…

如何编写高性能的C#代码(二)

使用Benchmark.NET对C# 代码进行基准测试的简介在我以前的文章中[10],我介绍了该系列文章[11],在其中我将分享我的经验,同时了解C#和.NET Core(corefx)框架的新性能。在本文中,我想着重于对现有…

flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo

前言Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。IT界著名的尼古拉斯高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!Flutter作为这两年开始崛起的跨平台开发…