引子
sql的使用是非常频繁的,有必要做一定的学习了解
SQL的基本概念
SQL是Structured Query Language的缩写,意思是结构化查询语言,是一种在数据库管理系统(Relational Database Management System, RDBMS)中查询数据,或通过RDBMS对数据库中的数据进行更改的语言
根据对RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类:
DDL(Data Definition Language)
CREATE: 创建数据库和表等对象
DROP: 删除数据库和表等对象
ALTER: 修改数据库和表等对象的结构
DML(Data Manipulation Language)
SELECT:查询表中的数据
INSERT:向表中插入新数据
UPDATE:更新表中的数据
DELETE:删除表中的数据
DCL(Data Control Language)
COMMIT: 确认对数据库中的数据进行的变更
ROLLBACK: 取消对数据库中的数据进行的变更
GRANT: 赋予用户操作权限
REVOKE: 取消用户的操作权限
SQL的基本crud
1.查询
查询是最复杂的,先举个简单查询例子
SELECT column_name,column_name
FROM table_name;
可以的查询结果集进一步的处理、过滤、去重、分页、排序等等
SELECT DISTINCT column_name,column_name
FROM table_name
WHERE column_name operator value
AND/OR column_name operatro value
ORDER BY column_name,column_name ASC|DESC;
2.插入
INSERT INTO table_name
VALUES (value1,value2,value3,…);
3.更新
UPDATE table_name
SET column1=value1,column2=value2,…
WHERE some_column=some_value;
4.删除
DELETE FROM table_name
WHERE some_column=some_value;
SQL的一些进阶操作
1.有时候需要做模糊查询,需要like和通配符的联合使用
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern(可以拼接%);
2.有时候两个表有关联,需要联合查询,使用left join或right join
SELECT column_name(s)
FROM table1
LEFT\RIGHT JOIN table2
ON table1.column_name=table2.column_name;
3.表的某些列属性需要添加约束
比如主键常用 PRIMARY KEY 、NOT NULL ,有些列添加 UNIQUE保证唯一性,有些列添加 DEFAULT 给与默认值
其他
欢迎指正与指导!