mysql 逻辑值_知乎

第1章 数据库和SQL

1-1 数据库是什么将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合称为数据库。

数据库(Database,DB)

数据库管理系统(Database Management System,DBMS)

关系数据库管理系统(Relational Database Management System,RDBMS)

DBMS的种类层次数据库(Hierarchical Database,HDB) 把数据通过层次结构(树形结构)的方式表现出来

关系数据库(Relational Database,RDB) 由行和列组成的二维表来管理数据,使用专门的SQL(Structured Query Language,结构化查询语言)对数据进行操作

面向对象数据库(Object Oriented Database,OODB) 面向对象是把数据以及对数据的操作集合起来以对象为单位进行管理,面向对象数据库是用来保存这些对象的数据库

XML数据库(XML Database,XMLDB) XML:eXtensible Markup Language,可扩展标记语言,是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。XML数据库可以对XML形式的大量数据进行高速处理

键值存储系统(Key-Value Store,KVS) 单纯用来保存查询所使用的主键(Key)和值(Value)的组合的数据库

1-2 数据库的结构RDBMS最常见的系统结构是客户端_服务器类型(C_S类型)结构

根据SQL语句的内容返回的数据同样必须是二维表的形式

表的列(垂直方向)称为字段,它代表了保存在表中的数据项目;表的行(水平方向)称为记录,它相当于一条数据。关系数据库必须以行为单位进行数据读写

行和列交汇的方格称为单元格,一个单元格中只能输入一个数据

本书介绍的是标准SQL的书写方式

1-3 SQL概要

SQL语句及其种类DDL(Data Definition Language,数据定义语言)用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL包含以下几种指令:CREATE(创建数据库和表等对象) DROP(删除数据库和表等对象) ALTER(修改数据库和表等对象的结构)

DML(Data Manipulation Language,数据操纵语言)用来查询或者变更表中的记录。DML包含以下几种指令:SELECT(查询表中的数据) INSERT(向表中插入新数据) UPDATE(更新表中的数据) DELETE(删除表中的数据)

DCL(Data Control Language,数据控制语言)用来确认或者取消对数据库中的数据进行的变更,还可以对RDBMS的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL包含以下几种指令:COMMIT(确认对数据库中的数据进行的变更 )ROLLBACK(取消对数据库中的数据进行的变更) GRANT(赋予用户操作权限) REVOKE(取消用户的操作权限)

SQL的基本书写规则SQL语句要以分号(;)结尾

SQL语句不区分关键字的大小写,但为了理解起来更加容易,一般按以下规则来书写SQL语句: 关键字大写;表名的首字母大写;其余(列名等)小写

插入到表中的数据是区分大小写的

字符串和日期常数书写时需要使用单引号(‘’)括起来,如‘abc’、‘2010-01-26’;数字常数书写时不需要使用任何符号标识,直接写成1000这样的数字即可

单词之间需要使用半角空格或者换行符进行分隔

1-4 表的创建

CREATE TABLE

( ,

,

……

, , ……);

例:

CREATE TABLE Product

(product_id CHAR(4) NOT NULL,

product_name VARCHAR(100) NOT NULL,

sale_price INTEGER ,

register_date DATE ,

PRIMARY KEY (product_id));

只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称,名称必须以半角英文字母开头;所有的列都必须指定数据类型

基本数据类型INTEGER型:用来指定存储整数的列的数据类型(数字型),不能存储小数

CHAR型:用来指定存储字符串的列的数据类型(字符型),可以像CHAR(10)这样在括号中指定该列可以存储的字符串的长度。字符串以定长字符串的形式存储在被指定为CHAR型的列中,当列中存储的字符串长度达不到最大长度时,使用半角空格进行补足

VARCHAR型:与CHAR型类似,但该类型的列以可变字符串的形式保存字符串,即使字符数未达到最大长度也不会用半角空格补足

DATE型:用来指定存储日期的列的数据类型(日期型)

约束的设置NOT NULL:必须输入数据的约束

PRIMARY KEY:主键约束,意味着该列数据不能重复,根据该列可以唯一确定一行数据

1-5 表的删除和更新

表的删除

DROP TABLE ;

表定义的更新

添加列 ALTER TABLE ADD COLUMN

删除列 ALTER TABLE DROP COLUMN

向表中插入数据

INSERT INTO VALUES (,,……);

第2章 查询基础

2-1 SELECT语句基础

列的查询

SELECT ,……

FROM ;

查询所有的列

SELECT *

FROM ;

为列设定别名

SELECT product_id AS id,

product_name AS name

FROM Product;

使用双引号可以设定包含空格或中文的别名

SELECT product_id AS "商品编号",

product_name AS "商品名称"

FROM Product;

从结果中删除重复行

使用DISTINCT关键字

SELECT DISTINCT product_type

FROM Product;

使用DISTINCT时,NULL也被视为一类数据,NULL存在于多行中时,也会被合并为一条NULL数据 DISTINCT也可以在多列之前使用,会将多个列的数据进行组合,将重复的数据合并为一条。此时DISTINCT关键字只能用在第一个列名之前

根据WHERE语句来选择记录

SELECT语句通过WHERE子句来指定查询数据的条件

SELECT ,……

FROM

WHERE ;

注释的书写方法单行注释: 书写在“--”之后,只能写在同一行。MySQL中需要在“--“后加入半角空格

多行注释: 书写在/*和*/之间,可以跨多行

2-2 算术运算符和比较运算符

注意NULL

所有包含NULL的计算,结果肯定是NULL

比较运算符比较运算符可以对字符、数字和日期等几乎所有数据类型的列和值进行比较<>:不等于

=:大于等于

<=:小于等于字符串类型的数据原则上按照字典顺序进行排序,不能与数字的大小顺序混淆。 ’1‘、’2‘、’3‘、’10‘、’11‘、’222‘按字典顺序排列结果为:‘1’,‘10’,‘11’,‘2’,‘222’,‘3’。即,‘2’>’10’

不能对NULL使用比较运算符。在找NULL记录时,用“=NULL”或者“<>NULL”是得不到结果的,要使用“IS NULL”和“IS NOT NULL”

2-3 逻辑运算符

三值逻辑

SQL除了真、假外,还存在第三个逻辑值——不确定(UNKNOWN)

第3章 聚合与排序

3-1 对表进行聚合查询

聚合函数COUNT:计算表中的记录数

SUM:计算表中数值列中数据的合计值

AVG:计算表中数值列中数据的平均值

MAX:求出表中任意列中数据的最大值

MIN:求出表中任意列中数据的最小值COUNT函数的结果根据参数的不同而不同。COUNT()会得到包含NULL的数据行数,而COUNT()会得到NULL之外的数据行数

除了COUNT()之外,聚合函数会将NULL排除在外。比如,在计算平均值时,会事先删除NULL再进行计算,分母会减少NULL的个数

3-2 对表进行分组

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值