Mysql

前言

  • 最近想学学后端,学了一下MVC三层架构,dao层涉及到增删改查sql语句,感觉东西很多,因此放到这里记录一下,里面只有一些基本的,剩下的用到了再补充吧...

tips

  • 关系型数据库不同的表通过某一字段相互关联
  • redis是非关系型数据管理系统(可以说成是一种高级的关系型数据库,里面包含了一些非结构性数据)

数据库视频

  • 如果包含了所有的列,那么就可以把所有的列名省略
  • 只包含部分列,则其他值会使用默认值,没有默认值的会置为NULL
  • 为数据库设置默认值???
sql 复制代码
//
INSERT INTO Websites (name, url, alexa, country) VALUES ('百度','https://www.baidu.com/','4','CN');
//为某几列插入多条数据
INSERT INTO Websites (name, url, country)
VALUES ('stackoverflow', 'http://stackoverflow.com/', 'IND'),(,,,);

删除就是delete from ... where...

sql 复制代码
DELETE FROM Websites WHERE name='Facebook' AND country='USA';

  • update ... set ... where ...
  • 注意!执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。会将 Websites 表中所有数据的 alexa 改为 5000,country 改为 USA。
sql 复制代码
UPDATE Websites  SET alexa='5000', country='USA'  WHERE name='菜鸟教程';
//在 MySQL 中可以通过设置 sql_safe_updates 这个自带的参数来解决,当该参数开启的情况下,你必须在update 语句后携带 where 条件,否则就会报错。

  • 查应该是最简单的
  • SELECT
sql 复制代码
SELECT name,country FROM Websites;
SELECT * FROM Websites;
//where可以between,>,<,or,and,not,LIKE
SELECT * FROM Websites WHERE country='CN';
SELECT * FROM Websites WHERE (alexa BETWEEN 1 AND 20) AND country NOT IN ('USA', 'IND');

//从 "Websites" 表中选取所有网站,并按照 "alexa" 列降序排序
SELECT * FROM WebsitesORDER BY alexa DESC;
SELECT * FROM Websites ORDER BY country,alexa;
//从 "Websites" 表的 "country" 列中选取唯一不同的值,也就是去掉 "country" 列重复值
SELECT DISTINCT country FROM Websites;
javascript 复制代码
(NOT) BETWEEN 1 AND 5
WHERE level IN (1,3,5)
LIKE '王_'//使用_匹配一个字符,例如会查出王五
//判断某个值为空的数值
WHERE level IS NOT NULL
//空字符串使用=来判断
WHERE level = ''
  • LIKE
sql 复制代码
//选取 name 以字母 "k" 结尾的所有元素 k%以k字开头 %oo% 包含oo
//"%" 符号用于在模式的前后定义通配符
SELECT * FROM Websites WHERE name LIKE '%k';

少了一句:

.statement=connect.prepareStatement(sql)

sql语句中出现需要变量替换怎么办

sql 复制代码
INSERT INTO Websites (name, url, country)  VALUES (?,?,?);
相关推荐
书山有鹿14 分钟前
PostgreSQL psql 命令和常用的 SQL 语句整理
数据库·sql·postgresql
GottdesKrieges2 小时前
OceanBase数据库磁盘空间管理
java·数据库·oceanbase
Themberfue3 小时前
Redis ⑦-set | Zset
java·开发语言·数据库·redis·sql·缓存
iRayCheung5 小时前
Docker安装的mysql限制ip访问
tcp/ip·mysql·docker
rainFFrain7 小时前
(MySQL)库的操作
数据库·mysql
八股文领域大手子8 小时前
深入理解缓存淘汰策略:LRU 与 LFU 算法详解及 Java 实现
java·数据库·算法·缓存·mybatis·哈希算法
noravinsc8 小时前
django admin 中更新表数据 之后再将数据返回管理界面
数据库·django·sqlite
Bruce-li__10 小时前
DRF凭什么更高效?Django原生API与DRF框架开发对比解析
数据库·django·sqlite
郭不耐11 小时前
PostgreSQL与MySQL哪个适合做时空数据分析?
mysql·postgresql·数据分析
noravinsc11 小时前
connection.cursor() 与 models.objects.filter
数据库·django·原生查询·orm查询