关系型数据库及其SQL基础语句

文章目录

  • 什么是数据库
  • 常用SQL语句
    • 1.简单的SQL语句
    • 2.限定条件的WHERE子句
    • 3.DISTINCT关键字
    • 4.ORDER BY排序
    • 5.LIMIT限制输出
    • 6.COUNT(*)统计返回结果的总数据条数
    • 7.使用AS为列设置别名
  • SQL程序功能语句


什么是数据库

数据库(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)


向数据表中插入新的数据行: INSERT INTO 表名 ([列名]) values ('[对应值]')

删除一条数据: DELETE FROM 表名 WHERE 限定条件

修改数据表中的数据: UPDATE 表名 SET [列名='值'] WHERE 限定条件

查询所有数据: SELECT * FROM 表名称
查询对应列的数据: SELECT [列名称] FROM 表名称

例:

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语句来限定选择的标准

各种限定方式:
条件运算符: >< = <> >= <=
逻辑运算符: ANDOR 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.DISTINCT关键字

DISTINCT关键字可用于返回唯一不同的值。
例: 从users表中获取所有用户姓名,且不出现重复。

SELECT DISTINCT username FROM users

4.ORDER BY排序

默认为升序排序,如按username列中的首字母升序排序: SELECT * FROM users ORDER BY username
在ORDER BY的内容后加上DESC关键字后即可进行降序排序: SELECT * FROM users ORDER BY username DESC

个人开发使用体会: 多用于对商品等按某一列进行排序。

5.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

个人开发使用体会: 多用于分段式数据查询。

6.COUNT(*)统计返回结果的总数据条数

语句: SELECR COUNT(*) FROM 表名 WHERE 限定条件
例:查询users表中名称不为admin的用户数量

SELECT COUNT(*) FROM users WHERE username<>'admin'

个人开发使用体会: 多与LIMIT配合,此语句用于查询总数据条数。

7.使用AS为列设置别名

语句: 放在列名后面,每个列名单独设置 别名
例: 给users表中username和password列取别名

SELECT username AS uname,password AS upwd FROM users

个人开发使用体会: 在JAVA中设置相关类接受数据库中的数据时,方便统一命名以及调试。

SQL程序功能语句

数据库操作
创建数据库: CREATE DATABASE database-name
删除数据库: drop database dbname

表操作
创建新表: create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
删除表: drop table tabname

其他操作
增加一个列: Alter table tabname add column col type
添加主键: Alter table tabname add primary key(col)
删除主键: Alter table tabname drop primary key(col)
创建索引: create [unique] index idxname on tabname(col….)
删除索引: drop index idxname
创建视图: create view viewname as select statement
删除视图: drop view viewname

个人开发使用体会: 不常用,一般在编写程序时会先设计好数据库,不会在Java等后端编程语言中对设计好的数据库进行更改。

你可能感兴趣的:(笔记,sql,mysql)