0715

# SQL

## CRUD操作

C Create 增  
R Read   查  
U Updata 改  
D Delete 删

## 数据库对象

表、视图、触发器、存储过程、函数

## 数据操作

DML/DQL Data Maniputlate/Query Language

### 查询

SELECT语句

方言

```sql
SELECT * FROM Employee; -- 标准SQL
SELECT * FROM `erp`.`Employee`; -- MYSQL
SELECT * FROM [erp].[Employee]; -- SQL Server

 

```

订单表

```sql
SELECT * FROM `order` -- 表名如果叫order,加上反引号
SELECT * FROM t_order -- 表名叫t_order,可以避免和关键词冲突

 

```

## 数据库范式

第一范式 1NF  
字段不可再分,原子性

第二范式 2NF  
每一行数据能够被唯一区分

第三范式 3NF  
非主键属性之间不存在依赖关系,要引用其他表内容必须引用其他表的主键(外键引用)

## 查询练习

1、查询所有的中国城市信息,列出城市名、城市人口  
2、查询人口大于1000万的城市,列出城市名、城市人口、所在国家  
3、查询上海和纽约讲的官方语言,列出城市名、城市人口、语言

## 插入、删除、更新数据

```sql
INSERT INTO table_name VALUES ([数据列表])

DELETE FROM table_name WHERE id = ?

UPDATE table_name SET col_name=new_value, [col_name2=new_value2,...] WHERE id = ?

 


```

## 加密

MD5  
SHA1  
AES  
BCrypt 会加盐  

## 创建表

CREATE

### 数据类型

INT 4Byte 整数  
BIGINT 8B 整数  
DECIMAL(M, N) DECIMAL(10,2) 浮点型

TINYINT 1B 整数 用作枚举、布尔型兼容  

DATETIME 日期时间

VARCHAR(N) VARCHAR(50) 可变长度字符串  
CHAR(N) CHAR(50) 不可变长度字符串


```sql
CREATE TABLE table_name(
    id int primary key auto_increment,
    col_name col_type,
    ....
)

 

```
posted @ 2024-07-16 23:07  咕嘎咕咕  阅读(46)  评论(0)    收藏  举报