文章目录
什么是数据库
数据库(database)是用来组织、存储和管理数据的仓库。
可抽象的理解为加强版EXCLE或加强版TXT。
常见的数据库和分类
传统型数据库
: MySQL(开源免费)、Oracle、SQL Server,它们设计理念相同,用法类似。
非关系型数据库
: Mongodb
传统型数据库的数据组织结构
分为: 数据库(database)、数据表(table)、数据行(row)、字段(field)
常用SQL语句
什么是SQL语句?
SQL(Structured Query Language)是结构化语言
,专门用来访问和处理数据库
的编程语言。
且在SQL语句中,关键字的大小写不敏感
1.简单的SQL语句
增删改查(Create、Retrieve、Update、Delete)
例:
SELECT username.password FROM users
INSERT INTO users (username.password) values ('admin','admin')
UPDATE users SET username='admin',password='admin' WHERE id=0
DELETE FROM users WHERE id=0
2.限定条件的WHERE子句
WHERE子句用于限定选择的标准。在SELECT、UPDATE、DELETE语句中,皆可使用WHERE语句来限定选择的标准
。
各种限定方式:
条件运算符: >
、<
、=
、<>
、>=
、 <=
逻辑运算符: AND
、OR
、NOT
模糊查询:
BETWEEN AND
: 在一个数据段之间
LIKE
: 含有 %
、_
、escape
三个关键字。风别表示多个字符、单个字符、和转义字符
IN
: 包含关键字,表示是否含有列表中的其中一项
IS NULL / IS NOT NULL
: 是否为零
例:
SELECT * FROM users WHERE username<>'admin'
SELECT * FROM users WHERE wealth>=0 AND wealth<=9
SELECT * FROM users WHERE wealth BETWEEN 0 AND 9
SELECT * FROM users WHERE username LIKE '%a%'
SELECT * FROM users WHERE username IN('administrator','admin')
SELECT * FROM users WHERE username IS NULL
优先级列表:
计算顺序 | 优先级 |
---|---|
1 | 算术运算符,例如+、-、*、/运算符 |
2 | 比较运算符,例如>、<、>=、<=、<>运算符 |
3 | IS [NOT] NULL,LIKE,[NOT] IN |
4 | [NOT] BETWEEN |
5 | NOT |
6 | AND |
7 | OR |
秘诀: 该加括号加括号
3.ORDER BY排序
默认为升序排序,如按username列中的首字母升序排序: SELECT * FROM users ORDER BY username
在ORDER BY的内容后加上DESC
关键字后即可进行降序排序: SELECT * FROM users ORDER BY username DESC
4.LIMIT限制输出
LIMIT可以限定输出的记录数量
例:
输出前五行: SELECT * FROM users LIMIT 5
从行号为0的行开始,输出5行(第一行行号为0): SELECT * FROM users LIMIT 0,5
LIMIT可和ORDER BY 可组合使用, LIMIT放在ORDER BY 后面: SELECT * FROM users ORDER BY username LIMIT 5
个人开发使用体会: 多用于分段式数据查询。
5.COUNT(*)统计返回结果的总数据条数
语句: SELECR COUNT(*) FROM 表名 WHERE 限定条件
例:查询users表中名称不为admin的用户数量
SELECT COUNT(*) FROM users WHERE username<>'admin'
个人开发使用体会: 多与LIMIT配合,此语句用于查询总数据条数。
6.使用AS为列设置别名
语句: 放在列名后面,每个列名单独设置 别名
。
例: 给users表中username和password列取别名
SELECT username AS uname,password AS upwd FROM users
个人开发使用体会: 在JAVA中设置相关类接受数据库中的数据时,方便统一命名以及调试。
SQL程序功能语句
个人开发使用体会: 不常用,一般在编写程序时会先设计好数据库,不会在Java等后端编程语言中对设计好的数据库进行更改。