博客
关于我
mysql笔记 (早前的,很乱)
阅读量:788 次
发布时间:2023-02-13

本文共 1571 字,大约阅读时间需要 5 分钟。

SQL 语句操作指南

基础 SELECT 语句

SELECT 语句用于从数据库表中提取数据,结果会存储在称为结果集的临时表中。

例如,SELECT * FROM table_name 可以从表中获取所有记录。

结果集导航

大多数数据库系统支持通过编程函数对结果集进行操作,从而实现记录的导航和修改。

数据重复处理

使用 DISTINCT 关键字可以排除重复记录。

例如,SELECT DISTINCT * FROM table_name 会去除相同字段的记录。

文本值处理

在 SQL 中,字符串值通常需要用单引号包裹(某些数据库也接受双引号)。

数字值则无需使用引号。
例如,SELECT * FROM table_name WHERE city = '北京';

BETWEEN 和 NOT BETWEEN

BETWEEN 可用于筛选范围内的数据,支持包含或不包含边界值。

例如,SELECT * FROM persons WHERE name BETWEEN 'mic' AND 'jack';
name NOT BETWEEN 'mic' AND 'jack'; 则排除边界值。
需要注意的是,不同数据库对 BETWEEN...AND 的处理方式有所不同。

UNION 操作符

UNION 可用于将两个 SELECT 语句的结果合并,但前提是两个 SELECT 语句的列数量、数据类型和顺序必须完全一致。

如果需要保留重复值,请使用 UNION ALL。
例如,SELECT * FROM persons UNION SELECT * FROM users;

数据备份与存档

SELECT INTO 语句用于创建表的备份副本或进行数据存档。

例如,SELECT * INTO persons_bak FROM persons;
如果需要将结果导出到另一个数据库中,可以使用 SELECT * INTO 'backup.mdb' FROM persons;
复杂的查询可以通过 SELECT p.lname, o.name INTO or_bak FROM persons INNER JOIN orders ON p.orderID = o.orderID; 实现。

数据表结构定义

CREATE TABLE 语句用于定义新表结构。

例如,CREATE TABLE persons (name VARCHAR(255) NOT NULL, id INT NOT NULL, UNIQUE(id))
在不同的数据库中,唯一性约束的定义方式有所不同。

唯一性约束

在已有的表中,可以通过 ALTER TABLE 进行修改。

例如,ALTER TABLE persons ADD UNIQUE (id, lastname);
如果需要为多个列定义唯一性约束,可以使用 ALTER TABLE persons ADD CONSTRAINT unique_personID (id, lastname);

撤销约束

在某些数据库中,可以通过 ALTER TABLE persons DROP INDEX unique_personID;ALTER TABLE persons DROP CONSTRAINT unique_personID; 来撤销唯一性约束。

主键与 NULL 值

主键列不能包含 NULL 值,但可以为空。

SQL 函数操作

MID 函数用于从文本字段中提取特定字符,MID(str, pos, len) 等同于 SUBSTRING(str, pos, len)

例如,SELECT MID(city, 2, 3) AS smallCity FROM persons;
此功能与数组访问方式不同,且第三个参数可选。

转载地址:http://etdfk.baihongyu.com/

你可能感兴趣的文章
mysql批量修改字段名(列名)
查看>>
MySQL批量插入数据遇到错误1213的解决方法
查看>>
mysql技能梳理
查看>>
MySQL报Got an error reading communication packets错
查看>>
Mysql报错Can‘t create/write to file ‘/tmp/#sql_3a8_0.MYD‘ (Errcode: 28 - No space left on device)
查看>>
MySql报错Deadlock found when trying to get lock; try restarting transaction 的问题解决
查看>>
MySQL报错ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘
查看>>
Mysql报错Packet for query is too large问题解决
查看>>
mysql报错级别_更改MySQL日志错误级别记录非法登陆(Access denied)
查看>>
Mysql报错:too many connections
查看>>
MySQL报错:无法启动MySQL服务
查看>>
mysql授权用户,创建用户名密码,授权单个数据库,授权多个数据库
查看>>
mysql排序查询
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
Mysql推荐书籍
查看>>
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
查看>>
MYSQL搜索引擎
查看>>
mysql操作数据表的命令_MySQL数据表操作命令
查看>>
mysql操作日志记录查询_如何使用SpringBoot AOP 记录操作日志、异常日志?
查看>>