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 (?,?,?);
相关推荐
瓯雅爱分享24 分钟前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
BTU_YC2 小时前
Neo4j查询计划完全指南:读懂数据库的“执行蓝图“
数据库·neo4j
非极限码农2 小时前
Neo4j图数据库上手指南
大数据·数据库·数据分析·neo4j
mit6.8243 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
咋吃都不胖lyh3 小时前
SQL-多对多关系
android·mysql·数据分析
苏打水com3 小时前
数据库进阶实战:从性能优化到分布式架构的核心突破
数据库·后端
shan~~4 小时前
linux达梦数据库操作
linux·数据库·chrome
武文斌775 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
CoderIsArt5 小时前
SQLite架构
数据库·sqlite
lixora5 小时前
银河麒麟高级服务器操作系统(ADM64 版)V10(SP1)搭建 Oracle 19c RAC
数据库