首页 > 数据库 >JAVAWEB-NOTE02-SQL

JAVAWEB-NOTE02-SQL

时间:2023-02-24 20:45:01浏览次数:65  
标签:JAVAWEB 列名 表名 查询 NOTE02 SQL 数据 数据库

目录

SQL简介

●英文: Structured Query Language, 简称SQL
●结构化查询语言,是一门操作关系型数据库的编程语言
●定义操作所有关系型数据库的统一标准
●对于同一个需求,每种数据库操作的方式可能会存在一些不一样的地方,我们称为"方言”

SQL通用语法

  1. SQL 语句可以单行或多行书写,以分号结尾。
  2. MySQL 数据库的SQL语句不区分大小写,关键字建议使用大写。

    3.注释
单行注释: --注释内容或#注释内容(MySQL特有)
多行注释: /*注释*/

SQL分类

●DDL(Data Definition Language)数据定义语言,用来定义数据库对象:数据库,表,列等
●DML(Data Manipulation Language)数据操作语言,用来对数据库中表的数据进行增删改
●DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)
●DCL(Data Control Language)数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

DDL

用于操作数据库与表

操作数据库

1.查询

SHOW DATABASES;

当前有哪些数据库

2.创建

CREATE DATABASE DB1;
CREATE DATABASE IF NOT EXISTS DB1;


3.删除

DROP DATABASE DB1;
DROP DATABASE IF EXISTS DB1;

4.使用数据库

USE 数据库名称;

查看当前使用的数据库

SELECT DATABASE();

操作表

1.创建表

create table 表名(
字段1 类型1,
字段2 类型2
);
注意最后一个字段后面不要加逗号


数据类型有哪些?

2.查询表
查询当前数据库中的所有表

show tables;


查询某个表中的具体结构

DESC 表名称

3.修改表

  • 修改表名
alter table 名字 rename to 新的名字;

  • 添加一列
alter table 表名 add 列名 数据类型;

  • 修改数据类型
alter table 表名 modify 列名 新数据类型

  • 修改列名和数据类型
alter table 表名 change 列名 新的列名 新的数据类型

  • 删除列
alter table 表名 drop 列名;

4.删除表

DROP TABLE 表名称
DROP TABLE IF EXISTS 表名称

navicat

●Navicat for MySQL是管理和开发MySQL或MariaDB的理想解决方案。
●这套全面的前端工具为数据库管理、开发和维护提供了一 款直观而强大的图形界面。
●官网:
http://www.navicat.com.cn

连接本地数据库


双击后就连接上了本地的mysql

DML

DML是对表中的数据进行增删改查的操作

  • 添加
    给指定列添加数据
INSERT INTO user(id,name,password) VALUES(1,'张三',123456);

给全部列添加数据

INSERT INTO 表名 VALUES(v1,v2...);

  • 修改
修改数据
UPDATE 表名 SET 列名1=值1,列名2=值2,..[WHERE条件]


如果没有加where,那么会将表内所有的数据改掉

  • 删除
DELETE FROM 表名 [WHERE条件]

DQL

基础查询

1.查询指定列的数据

SELECT 列名1,列名2.. From 表名


2.查询所有列的数据

SELECT * FROM 表

3.剔除重复数据

利用DISTINCT关键字


4.查询出来的值起别名

SELECT 列名 AS 别名 From 表

条件查询



注意,null的比较不能用算术运算符,只能用is 或者是 is not

like模糊查询

不确定的地方用通配符代替
1. _代表一个字符
2. %代表任意个字符

分组查询

聚合函数

概念:
将一列数据作为整体,进行纵向计算

函数名 功能
count(列名) 统计数量
max(列名) 最大值
min(列名) 最小值
sum(列名) 求和
avg(列名) 平均值
语法:
SELECT 函数(列名) FROM 表;

null不参加所有聚合函数运算即如果某个数据为空,我并不会去统计。

分组查询


排序查询


分页查询


标签:JAVAWEB,列名,表名,查询,NOTE02,SQL,数据,数据库
From: https://www.cnblogs.com/zbcgoal/p/17149972.html

相关文章

  • SQL server 的除法运算
     select300/(301)*100查询结果:0,由于数值是INT类型,无法得到小数点的结果。怎么整?分母加0.0select300/(301+0.0)*100查询结果:99.667700......
  • Spring 保存带Array字段的记录到PostgreSQL
    前言本文继续学习PostgreSQL,看到PostgreSQL有个Array字段,感觉可以用来存储某种表,比如股票每天的价格,我们称为market_price表,先来看下最开始market_price表的定义cre......
  • MySQL备份---还原
    1.全量备份(数据+结构)#mysqldump-uroot-p123456-A>备份文件路径2.指定库备份(数据+结构)#mysqldump-uroot-p123456库名>备份文件路径3.多个库备份(数据+结构)#mysqld......
  • mysql主从自动搭建
    1.主服务器​​master.sh​​#!/bin/bash#====================================================#Author:Mr.Song#CreateDate:2019-02-21#Description:autoconfig......
  • TDSQL-C Serverless 服务是如何实现通过接入层来实现恢复感知
    在一些极限的测试场景下,数据库实例会频繁的自动启停,这时候如何保证数据库实例停止后快速恢复呢?如何保证在恢复数据库实例时无需用户重复链接,直到恢复访问?站在用户的角度考......
  • sqlserver (provide:SSL Provider,error:31 - Encryption(ssl/tls) handshake failed)
    前言.Net6发布后连接低版本MSSQL出现SSL异常,在搜索相关文档后做出以下记录。环境项目值服务器Ubuntu20.04NetCore版本6.0数据库版本MSSQL2014......
  • oracle:查看sql执行计划 explain PLAN FOR
    例如:explainPLANFORselect*from(selectoti.*frommb_order_ticket_itemotiwhereoti.ticket_idin(selectot.idfrommb_order_ticketotwhereot.ti......
  • mysql半同步
    什么是半同步复制所谓的半同步复制就是master主服务器每commit一个事务(简单来说就是做一个改变数据的操作),要确保slave从服务器接收完主服务器发送的binlog日志文件并写入......
  • 数据库架构、SQL漏洞注入
    找到数据库中的table表和colmuns表,里面是本机所有的数据库。    在vscode中找到php中的sql语句。      只有list.php中的第46行是有变量的sql语句,......