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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库基本操作 -> 正文阅读

[大数据]数据库基本操作

1.增

1.创建一个名为text的数据库,注意``符号是键盘左上角Esc键下方的符号,而不是逗号。(使用SQLyog创建列表的话,记得刷新列表!!!)

格式create database 数据库名

CREATE DATABASE `text`

2.创建表格

CREATE TABLE IF NOT EXISTS `student`(
`id` INT(6) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(10) NOT NULL DEFAULT '佚名' COMMENT '名字',
`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
PRIMARY KEY(id)
 )ENGINE=INNODB DEFAULT CHARSET=utf8

NOT NULL 表示所填这个元素的内容不能为空

DEFAULT 表示这个元素的默认值

COMMENT 表明这个元素需要填写的值,提示

PRIMARY KEY(id) 将id元素设为主键,一般一个表只有唯一一个主键

ENGINE=INNODB DEFAULT CHARSET=utf8 设置引擎为INNODB ,文档格式为UTF-8

IF NOT EXISTS 判断是否存在


主键的作用:数据库的主键指的是一个列或多个列组合,其值能唯一标注表中的每一行。主键可以用来表示一个精确定位的特定行,如果没有主键,无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或者删除表中特定的行很困难。如果有主键来约束行记录的唯一性后,就可以用主键来解决问题。


引擎的作用:存储引擎是服务于存储服务的,通过存储引擎将数据保存。就跟计算机如何将数据保存到磁盘中一样,在数据库中,存储引擎的意思就是通过何种引擎将数据存储在磁盘中。


3.向表中插入语句

格式:insert into 表名 (字段一字段二,...) values('值1','值二',...),('值1','值二',...)

注意:数据与字段之间一定要对应。

INSERT INTO `student`(`id`,`name`)VALUES('001','张三'),('002','李四'),('003','王五')

2.删

1.删除表中字段

格式:ALTER TABLE 表名 DROP 字段名

ALTER TABLE student DROP age

2.删除数据

格式:DELETE FROM 表名 TRUNCATE TABLE 表名

DELETE FROM `student` 
TRUNCATE TABLE `student`

3.改

1.修改表

格式:ALTER TABLE 数据库名 MODIFY 表名 列属性

格式:ALTER TABLE 数据库名 CHANGE 旧表名 新表名 列属性

ALTER TABLE student MODIFY  sex VARCHAR(10)
ALTER TABLE student CHANGE  sex  age INT(10)

2.修改表中字段对应的值

格式:update 表名 set 想修改的字段名='新值' where 约束条件

UPDATE `student` SET `name`='小张' WHERE id=1

注:约束条件是必要的,如若不加上约束条件,那么整张表指定的字段值都将会被修改,如若有多个约束条件可以用and和or连接

4.查(重点)

1.基础查询

select语句

--显示出student表中的所有信息--
SELECT * FROM student
?
?
--只显示出student表中部分信息--
SELECT `studentno`,`loginpwd`,`address`,`borndate` ?FROM student

一般情况下,我们为了表格中信息更易理解。通常会在select语句中为提取出的字段取别名。用as关键词即可,as可以省略,中间为空格。

 SELECT `studentno` 学号,`loginpwd`  密码,`address` 家庭地址,`borndate` 出生日期 FROM student

CONCAT连接字符串函数联用:

使用方法:

 SELECT CONCAT('学号:',`studentno`) 学号,`loginpwd`  密码,`address` 家庭地址,`borndate` 出生日期 FROM student

去重:(去除重复数据)

关键词:DISTINCT

 --过滤掉学时相同的科目---
 SELECT DISTINCT ?`classhour` FROM SUBJECT

2.模糊查询:

1.关键词:like

 --查询名字为两个字的姓李的人--
 SELECT studentname FROM student WHERE studentname LIKE '李_'
 
 
 --查询名字为三个字的姓练的人--
 SELECT studentname FROM student WHERE studentname LIKE '练__'
 
 --查询名字中带“娜”字的人--
 SELECT studentname FROM student WHERE studentname LIKE '%娜%'

注:一个下划线"_"代表一个字符,而一个"%"代表不确定数量的字符。

2.关键词:in

--查询地址在“北京朝阳”的学生--
SELECT studentname,sex FROM student WHERE address IN('北京朝阳')

注:in 后面只能跟具体的值,而不能是模糊的值!也就是说,它与like不同,不能查询一定范围的值,而是只能是特定的值,否者结果与预期相悖。

3.关键词:is null (is not null)

 ?--查询没有生日的同学--
 ?SELECT studentname,sex FROM student WHERE borndate IS NULL 
 ?
 ?
 ?--查询有生日的同学--
 SELECT studentname,sex, borndate FROM student WHERE borndate IS NOT NULL 

4.关键词:between

 ?--查询学号在1000到1004之间的学生,包括1000和1004-- 
 ?SELECT studentname,sex, borndate FROM student WHERE studentno BETWEEN 1000 AND 1004

3.联表查询:

首先简单介绍一下,数据库中的笛卡尔乘积: 笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代数里的一个概念,表示两个表中的每一数据任意组合,上图中两个表连接即为笛卡尔积(交叉连接)

inner join:

SELECT s.studentno,studentname,sex,subjectno,studentresult 
FROM student s
INNER JOIN result r
WHERE s.studentno=r.studentno

注:都是取两者的交集部分,其余两者独有的部分被过滤掉。

left join:

SELECT s.studentno,studentname,sex,subjectno,studentresult 
FROM student s
LEFT JOIN result r
ON s.studentno=r.studentno

注:取左表(此处为student)中的全部元素,过滤掉右表的独有元素。

right join:

SELECT s.studentno,studentname,sex,studentresult 
FROM result r
RIGHT JOIN student s
ON s.studentno=r.studentno

注:取右表(此处为student)中的全部元素,过滤掉左表的独有元素。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:42:31  更:2021-10-16 19:44:55 
 
开发: 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 1:03:46-

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