IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySql_Sql -> 正文阅读

[大数据]MySql_Sql

-- DDL操作数据库

show databases;#查看所有数据库

show create database new1;#查询某个数据库的创建语句

create database if not exists new1 character set gbk ;#创建数据库(判断是否存在再创建)(设置默认字符集)

alter database new1 character set utf8;-- 修改数据库默认字符集

drop database if exists new1;#删除数据库(判断是否存在)

SELECT DATABASE();#查看当前使用数据库

show variables like 'character_set_database';#查看当前数据库字符集

use new;#使用数据库
/***********************************************************************************************************/
-- DDL操作表

show tables;-- 查询当前数据库中的表

show create table student;-- 查询某个表的创建语句

create table if not exists Student(
	id int,username varchar(10),gender char(1),
	birthday date,score double(5,2),
	email VARCHAR(15),tel VARCHAR(15),status TINYINT
)character set utf8;-- 字段名,类型(判断是否存在)(设置默认字符集)

alter TABLE student character set utf8;-- 修改表默认字符集

drop table if exists s,sd,sttu,stu;#删除表(判断是否存在)

desc stu;-- 查看表结构

CREATE table if not exists sttu like student;-- 复制表(判断是否存在)

ALTER table biao rename to stu;#更改某表名称
ALTER table stu add address varchar(50);#在某表添加一列
ALTER table student modify email VARCHAR(51) CHARACTER SET utf8  COLLATE utf8_general_ci DEFAULT NULL;#根据列名修改某一列数据类型,可修改字符集,可不用写排序规则
ALTER table student change name VARCHAR(51) CHARACTER SET utf8 DEFAULT NULL;#根据列名修改这列列名和数据类型
ALTER table stu drop addr;#删除列
/***********************************************************************************************************/
-- DML

Insert into Student(id,username,birthday,score)VALUES(1,"多说几句","1-1-1",8.1658),(1,"sd","1-1-0",1.36);-- 如果表后无列名则默认为全列,除了数字其他都要用引号。

DELETE from student where id=1;-- 删除列(可写筛选条件不然为清空)
TRUNCATE TABLE student;-- 删除此表后创建和原来一样的空表,等于清空
-- 另外如果执行清空用下者因为下者时间复杂度为O(1),上者要一条条删时间复杂度为O(n),上者太慢

update student set id=2 where id=1;-- 更改数据(可写筛选条件不然全部行执行此更改)
/***********************************************************************************************************/
-- 总起

SELECT
	字段列表 
FROM
	表名列表 
WHERE
	条件列表 
GROUP BY
	分组字段 
HAVING
	分组之后的条件 
ORDER BY
	排序 
	LIMIT 分页限定;
/*************************************************************************************/
-- 基础查询

select *from 学生;-- 查询所有字段
select 姓名,年龄 from 学生;-- 查询指定字段
select DISTINCT 地址 from 学生;-- DISTINCT可去重
SELECT 姓名 AS name,数学+英语 AS 总分 FROM 学生;-- 查询可计算用AS可给字段显示赋名且AS可省略,有null参与的计算,结果为null
SELECT 姓名,数学+IFNULL(英语,0) AS 总分 FROM 学生;-- IFNULL(英语,0)函数可将字段中的null“最后”置换为所给值,“最后”意思为条件等操作后的最终显示结果
/*************************************************************************************/
-- 条件查询

>、<、<=、>=、=、<>、BETWEEN AND、IN、LIKE、IS NULL、and、or、not、&&、||、!推荐用字母与或非;

select *from 学生 where 年龄<>20;-- <>不等号
select *from 学生 where 年龄!=20;-- !=也为不等号
select *from 学生 where 年龄 IN (22,18,25);-- 筛选出该字段等于列表中的项
select *from 学生 where 英语 is null;-- null的判断用is null或is not null
select *from 学生 where 英语 is not null;-- .................
select *from 学生 where 姓名 like "%马%";-- _:单个任意字符,%:多个任意字符
/*************************************************************************************/
-- 排序查询

语法:order by 子句
order by 排序字段1 排序方式1,排序字段2,排序方式2...
排序方式:
ASC:升序,默认的
DESC:降序;

select *from 学生 where 年龄!=20 ORDER BY 数学 DESC, 英语 ASC;-- 排序优先级从前往后递减
/*************************************************************************************/
-- 聚合函数

将一列数据作为一个整体,进行纵向的计算:count:计算个数	max:最大值	min:最小值	sum:和	avg:平均值,计算对象为“最后”显示结果,比IFNULL(expr1,expr2)还后;
select IFNULL(英语,0)from 学生 where 英语<80;
select count(英语) from 学生;-- 会排除值为null的项
select count(IFNULL(英语,0)) from 学生;-- 通过ifnull避免排除值为null的项
select count(*) from 学生;-- *避免了单行null值影响计算
/*************************************************************************************/
-- 分组查询

语法:GROUP BY
注意:
分组之后查询的字段:分组字段、聚合函数,其他的无意义;
where和having的区别:
where在分组之前进行筛选,如果不满足条件,不参与分组。不能跟聚合函数
having在分组之后进行筛选,如果不满足结果,不会被查询出来。能跟聚合函数;

SELECT 性别,avg(数学) from 学生 WHERE 数学>70 GROUP BY 性别 HAVING count(编号)>2;-- 按照where条件筛选出来的进行分组,再根据HAVING条件进行筛选从而显示,having条件可根据前面的AS来写,一般having的条件是根据分组后的结果来写
/*************************************************************************************/
-- 分页查询

语法:limit开始的索引,每页查询的条数
limit是mysql专有方言;

select *from 学生 LIMIT 0,3;-- 根据索引,长度分页,既然是索引当然是从0开始
/*************************************************************************************/
-- 约束

















  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:59:11  更:2022-01-28 11:59:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 14:12:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码