SQL学习笔记(一)
SQL 对大小写并不敏感,所以大小写都是相同
SQL的分号,主要是做分割每条SQL语句的标准方法
重要的SQL命令
SELECT 从数据库中提取数据
UPDATE 更新数据库中的数据
DELETE 从数据库中删除数据
INSERT INTO 向数据库中插入新数据
CREATE DATTABASE 创建新数据库
ALTER DATABASE 修改数据库
CREATE TABLE 创建新表
ALTER TABLE 变更(改变)数据库表
DROP TABLE 删除表
CREATE INDEX 创建索引(搜索键)
DROP INDEX 删除索引
SELECT 选取数据
结果被存储在一个结果表中,成为结果集
SELECT column_name,column_name FROM table_name;
SELECT * FROM table_name;
SELECT DISTINCT 用于返回唯一不同的值(去重)
DISTINCT 关键词用于返回唯一不同的值。
WHERE 子句
用于提取那些满足指定条件的记录
比如需要找到哪些国家?或者是某列的一些条件
SELECT * FROM A WHERE country ='CN'
这里需要注意的是文本字段VS 数值字段
用单引号/双引号来围绕文本值,但是如果是数值字段,请不要使用引号
WHERE子句中的运算符
= 等于 Select * from emp where empno=7900;
<> 不等于或者是!=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式 Select * from emp where ename like 'M%';
查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。
- % 表示多个字值,_ 下划线表示一个字符;
- M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
- %M% : 表示查询包含M的所有内容。
- %M_ : 表示查询以M在倒数第二位的所有内容。
IN 指定针对个列的多个 可能值 Select * from emp where sal in (5000,3000,1500);
AND & OR运算符
跟传统的开发语言一样
AND 是同时满足条件
SELECT * FROM `character_money` WHERE silver_money >= 1000 AND gold_money >= 1000
OR 是只要满足一个条件
SELECT * FROM `character_money` WHERE silver_money >= 1000 OR gold_money >= 1000
结合AND & OR
可以用圆括号来组成复杂的表达式
SELECT * FROM `character_money` WHERE silver_money >= 1000 AND (gold_money >= 1000 OR diamond_money >= 1000)
ORDER BY 关键字
用于对结果集进行排序
由于ORDER BY是默认升序的
所以如果需要降序则使用DESC关键字
SELECT * FROM `character_money` ORDER BY silver_money
SELECT * FROM `character_money` ORDER BY silver_money DESC 进行降序排列
如果需要ORDER BY 多列的情况下,则可以用逗号将其分开
SELECT * FROM `character_money` ORDER BY silver_money DESC, gold_money DESC
这里是针对了silver_money和gold_money都做了降序排序(注意,如果有一个没有DESC,就是默认按升序排序)
INSERT INTO 语句用于向表中插入新记录
两种语法
INSERT INTO table_name
VALUES 无需指定要插入数据的列名,只提供被插入的值即可
INSERT INTO table_name (column1,column2,column3.。。)
VALUES 需要指定列名及被插入的值
insert into select 和select into from 的区别
insert into scorebak select * from socre where neza='neza' --插入一行,要求表scorebak 必须存在
select * into scorebak from score where neza='neza' --也是插入一行,要求表scorebak
UPDATE 语句
用于更新表中已存在的记录
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
(注意:WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!)
执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。
在 MySQL 中可以通过设置 sql_safe_updates 这个自带的参数来解决,当该参数开启的情况下,你必须在update 语句后携带 where 条件,否则就会报错。
set sql_safe_updates=1; 表示开启该参数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2021-04-25 CentOS 下源码安装 Node.js