数据库基础

一、数据库的基本概念

1.什么是数据库

  • 数据库的全称:数据库管理系统(database management system),简称 DBMS
  • 数据库的定义:数据库是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合,其本质是一个文件系统
  • 数据库的用途:数据库是一个存储数据的软件,允许用户通过简单直观的SQL语句对数据库中的数据进行复杂的处理。
  • 数据库的分类:数据库分为两类,分别为 关系型数据库 RDBMS 和 非关系型数据库 NOSQL
    •  RDBMS:关系型数据库:Oracle、MySQL、SQL Server、PgSQL、DB2……
      • 主要用于业务系统存储,如订单数据、用户数据、商品数据、支付数据、快递数据、配送数据
      • 其特点:稳定、安全、性能慢
    • NOSQL:非关系型数据库:Redis、MongoDB、Hbase、TiDB……
      • 高并发高性能存储
      • 性能快,稳定和安全性差

2.数据库中有哪些对象

  • 数据库管理系统
  • 数据库(database):用于对数据按照不同类别进行划分,第一级划分结构,一个数据库管理系统中可以有多个数据库。
  • 数据表(table):用于对同类别但不同内容的数据进行划分,第二级划分结构,一个数据库中可以包含多个数据表。
  • 数据行(row):用于表示数据表中的一行数据,一行可以包含多列数据。
  • 数据列(column):用于表示数据表中的一列数据,一列可以包含多行数据

3.对数据库的简单理解

  • 叫法的歧义性:
    • 实际上数据库应为数据库管理系统
    • 但是一般我们把 数据库软件 称为数据库
  • 数据库与excel:
    • 数据库与excel高度类似,都具有存储数据,并通过操作对数据进行处理
    • 类比
      • 数据库管理系统 =>   数据库    =>    数据表   => 数据库的行和列
      • 文件资源管理器 => excel文件 => sheet表格 => excel的行和列
    • 数据库相较于excel的优点:
      • 支持的数据量更大:百万级别

      • 支持各种复杂的数据操作:分组、排序、各种复杂处理函数

      • 支持快速的数据读写:底层性能非常强大

      • 支持非常简单易用的开发接口SQL:实现复杂数据处理的时候可以通过类人类语言实现数据处理

  • NOSQL非关系型数据库中的 'NO' 为 not only , 关系型数据库(RDBMS)支持 SQL ,而大部分 非关系型数据库(NOSQL)不支持 SQL ,但是一般可以使用插件使其支持SQL语言。

二、SQL的基本概念

1.什么是SQL

  • SQL(Structured Query Language)是“结构化查询语言”,是一种专为数据统计分析而设计的编程语言,可以利用SQL对数据库中的对象【数据库Database、表Table】进行管理,对数据进行增删改查的操作 。
  • SQL 可以用在所有关系型数据库中,但很多数据库还都有标准之后的一些语法,我们可以称之为“方言”。例如 MySQL 中的 LIMIT 语句就是 MySQL 独有的“方言”,其它数据库都不支持,同样的其他关系型数据库也具有其独特的“方言”。

2.语法规则

  • SQL 语句由多个关键词组成,一般来说不建议用关键词作为库名、表名、列名;
  • 关键词之间要使用空格隔开;
  • SQL语句结束符,默认分号。

3.语法分类

  • DDL(Data Definition Language): 数据定义语言:数据库和表的管理,创建、删除:create、drop、show

  • DML(Data Manipulation Language): 数据操作语言:表中数据的增删改:insert、delete、update

  • DQL(Data Query Language): 数据查询语言:表中数据的读取查询:select

  • DCL(Data Control Language): 数据控制语言:SQL权限管理:grant、revoke

4.SQL的基本规则

  • SQL的用法
    • 通过关键词根据需求组合成SQL语句:create、drop、show、insert、delete、update、select等
    • 每个关键词的语法之间必须使用空格隔开
    • 每条SQL语句结束,必须加上结束符,默认的SQL结束符为分号
  • SQL的注释
    • 单行注释:# 注释内容   或者  -- 注释内容 ,注意:'' -- '' 与注释内容之间要加上空格隔开才可以生效。

    # 这是一行注释
    -- 这是一行注释
    • 多行注释:/* 注释内容 */

    /*
        这是多行注释
    */

5.SQL通用数据类型

数据类型描述
CHARACTER(n)字符/字符串。固定长度 n。
VARCHAR(n) 或
CHARACTER VARYING(n)
字符/字符串。可变长度。最大长度 n。
BINARY(n)二进制串。固定长度 n。
BOOLEAN存储 TRUE 或 FALSE 值
VARBINARY(n) 或
BINARY VARYING(n)
二进制串。可变长度。最大长度 n。
INTEGER(p)整数值(没有小数点)。精度 p。
SMALLINT整数值(没有小数点)。精度 5。
INTEGER整数值(没有小数点)。精度 10。
BIGINT整数值(没有小数点)。精度 19。
DECIMAL(p,s)精确数值,精度 p,小数点后位数 s。例如:decimal(5,2) 是一个小数点前有 3 位数,小数点后有 2 位数的数字。
NUMERIC(p,s)精确数值,精度 p,小数点后位数 s。(与 DECIMAL 相同)
FLOAT(p)近似数值,尾数精度 p。一个采用以 10 为基数的指数计数法的浮点数。该类型的 size 参数由一个指定最小精度的单一数字组成。
REAL近似数值,尾数精度 7。
FLOAT近似数值,尾数精度 16。
DOUBLE PRECISION近似数值,尾数精度 16。
DATE存储年、月、日的值。
TIME存储小时、分、秒的值。
TIMESTAMP存储年、月、日、小时、分、秒的值。
INTERVAL由一些整数字段组成,代表一段时间,取决于区间的类型。
ARRAY元素的固定长度的有序集合
MULTISET元素的可变长度的无序集合
XML存储 XML 数据

 6.MySQL常见关键词

关键词关键词关键词
ADDALLALTER
ANALYZEANDAS
ASCASENSITIVEBEFORE
BETWEENBIGINTBINARY
BLOBBOTHBY
CALLCASCADECASE
CHANGECHARCHARACTER
CHECKCOLLATECOLUMN
CONDITIONCONNECTIONCONSTRAINT
CONTINUECONVERTCREATE
CROSSCURRENT_DATECURRENT_TIME
CURRENT_TIMESTAMPCURRENT_USERCURSOR
DATABASEDATABASESDAY_HOUR
DAY_MICROSECONDDAY_MINUTEDAY_SECOND
DECDECIMALDECLARE
DEFAULTDELAYEDDELETE
DESCDESCRIBEDETERMINISTIC
DISTINCTDISTINCTROWp
DOUBLEDROPDUAL
EACHELSEELSEIF
ENCLOSEDESCAPEDEXISTS
EXITEXPLAINFALSE
FETCHFLOATFLOAT4
FLOAT8FORFORCE
FOREIGNFROMFULLTEXT
GOTOGRANTGROUP
HAVINGHIGH_PRIORITYHOUR_MICROSECOND
HOUR_MINUTEHOUR_SECONDIF
IGNOREININDEX
INFILEINNERINOUT
INSENSITIVEINSERTINT
INT1INT2INT3
INT4INT8INTEGER
INTERVALINTOIS
ITERATEJOINKEY
KEYSKILLLABEL
LEADINGLEAVELEFT
LIKELIMITLINEAR
LINESLOADLOCALTIME
LOCALTIMESTAMPLOCKLONG
LONGBLOBLONGTEXTLOOP
LOW_PRIORITYMATCHMEDIUMBLOB
MEDIUMINTMEDIUMTEXTMIDDLEINT
MINUTE_MICROSECONDMINUTE_SECONDMOD
MODIFIESNATURALNOT
NO_WRITE_TO_BINLOGNULLNUMERIC
ONOPTIMIZEOPTION
OPTIONALLYORORDER
OUTOUTEROUTFILE
PRECISIONPRIMARYPROCEDURE
PURGERAID0RANGE
READREADSREAL
REFERENCESREGEXPRELEASE
RENAMEREPEATREPLACE
REQUIRERESTRICTRETURN
REVOKERIGHTRLIKE
SCHEMASCHEMASSECOND_MICROSECOND
SELECTSENSITIVESEPARATOR
SETSHOWSMALLINT
SPATIALSPECIFICSQL
SQLEXCEPTIONSQLSTATESQLWARNING
SQL_BIG_RESULTSQL_CALC_FOUND_ROWSSQL_SMALL_RESULT
SSLSTARTINGSTRAIGHT_JOIN
TABLETERMINATEDTHEN
TINYBLOBTINYINTTINYTEXT
TOTRAILINGTRIGGER
TRUEUNDOUNION
UNIQUEUNLOCKUNSIGNED
UPDATEUSAGEUSE
USINGUTC_DATEUTC_TIME
UTC_TIMESTAMPVALUESVARBINARY
VARCHARVARCHARACTERVARYING
WHENWHEREWHILE
WITHWRITEX509
XORYEAR_MONTHZEROFILL
  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值