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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 10.28 学习打卡 -> 正文阅读

[大数据]10.28 学习打卡

1.MySql

1.1Sqlyog

图形化管理mysql工具

每一个执行操作本质上对应sql命令

  • 新建表

  • 添加表

1.2连接数据库

  • cmd

    • mysql -uroot -p

    • mysql -uroot -pzhixingheyi0 --连接数据库

2.操作数据库

操作数据库就是对库中的表中的数据进行操作

详见csdn 数据库操作博客

(13条消息) 数据库操作语句大全(sql)Twiss的博客-CSDN博客数据库操作语句

2.1数据库列类型

数值

  • tinyint 一个字节

  • smallint 两个字节

  • ...

  • decimal 字符串类型的浮点数

字符串

  • cahr 字符串固定大小 0-255

  • varchar 可变字符串 0-65535 常用

  • tinytext 微型文本 2^8-1

  • text 文本串 2^16-1

时间日期

null

2.2数据库的字段属性

Unsigned:

  • 无符号整数

  • 该列不能为负数

zerofill:

  • 自动0填充

自增:

  • 自动在上一条记录的基础上+1(可以自定义步长)

  • 通常用来设计唯一主键index

非空:

  • 假设设置为 not null,如果不给它赋值,就会报错

  • NULL 如果不填写值,默认就是null

默认:

  • 设置默认的值

  • sex,默认值为男

2.3创建数据库

2.4数据库引擎

INNODB(默认使用)

MYISAM(早些年使用)

MYISAMINNODB
事务支持不支持支持
数据行锁定不支持(表锁)支持(行锁)
外键约束不支持支持
全文索引支持不支持
表空间的大小较小较大,约为MYISAM的两倍
  • MYISAM 节约空间速度快

    • *.frm - 表结构的定义文件

    • *.MYD 数据文件(data)

    • *.MYI 索引文件(index)

  • INNODB 安全性高,support事务的处理,多表多用户操作

    • 数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件

2.5对表操作

修改表:

ALTER TABLE student RENAME AS student1

添加字段:

ALTER TABLE student1 ADD grade INT(3)

修改表的字段(重命名和修改约束):

ALTER TABLE studet1 MODIFY age VARCHAR(11) ----修改约束

ALTER TABLE student1 CHANGE age age1 INT(2) ----重命名

删除表的字段

ALTER TABLE student1 DROP age1

删除表

DROP TABLE IF EXISTS student1

创建和删除操作最好加上判断(IF EXISTS)

  • 字段名``

  • 注释-- 多行注释/**/

  • sql 关键字大小写不敏感

3.MySQL数据管理

3.1外键

外键是唯一性索引

--创建时添加外键
CREATE TABLE IF NOT EXISTS `student`(
`gradeid` INT(8) NOT NULL,
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
PRIMARY KEY (`id`),
KEY `FK_gradeid` (`gradeid`),
CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

--建表后添加外键
ALTER TABLE `student`
ADD CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`)

3.2DML语言(!!!!!)

数据库管理语言

DML语言:数据操作语言

  • insert

  • update

  • delete

3.3添加

插入语句

-- insert into 表名([字段1,字段2,字段3])values('值1'),('值2'),...
?
INSERT INTO `grade`(`gradeid`)VALUES('2017'),('2019')
-- 保证字段和数据一一对应
?
  • 字段可以省略,但是值必须一一对应

3.4修改

-- update 条件 set 旧值=新值
UPDATE`grade` SET `gradename`='大二'WHERE gradeid=2018;
-- 不指定条件的情况下,会改动所有表
UPDATE`grade`SET `gradename`='大三'
?
-- 修改多个属性用逗号隔开
UPDATE `grade` SET `gradename`='大四',`gradeid`='2016'WHERE gradeid=2017; 
-- where 子句 ?  id=某个值/大于/在某个区间....
 
操作符含义范围结果
=等于5=6false
<>或!=不等于5<>6true
>/<
>=/<=
between...and...在某个范围内[2,5]
and且&&5>1&&1>2false
or或||5<1or2<5true
  • colnum_name是数据库的列,带上``

3.5删除

-- delete from 表名 where 
DELETE FROM`grade` WHERE `gradename`='大四'
?

truncate命令(完全清空一个数据库表)

表的索引和约束不会变

  • delete和truncate都能删除数据,都不会删表结构

    • truncate重新设置 自增列,计数器归零

    • truncate不会影响事务

4.DQL查询数据

数据查询语言

  • 可以完成很复杂的查询

  • 数据库中使用最多的核心语言

-- 查询全部的人
SELECT * FROM emp
-- 查询指定字段
SELECT `ename`,`job` FROM emp
-- 别名,给结果起一个名字
SELECT `ename`AS 姓名,`job`AS 职业 FROM emp
?
-- 函数 Concat(a,b)  拼接a,b
SELECT CONCAT('姓名:',ename)AS 新名字 FROM emp
?

去重(distinct)

-- 去重
SELECT DISTINCT `ename`FROM emp
-- 所有人薪水+100查看
SELECT `ename`,`sal`+100 AS '涨薪后' FROM emp

4.1where条件子句

检索数据中符合条件的值

  1. 逻辑运算符

    • 与或非

    -- 所有人薪水+100查看,薪水大于等于1500小于等于3000
    SELECT `ename`,`sal`,`sal`+100 AS '涨薪后' FROM emp
    WHERE `sal`BETWEEN 1500 AND 3000

  2. 模糊查询

    • 比较运算符

运算符语法描述
IS NULLbool
IS NOT NULLbool
BETWEENa between b and c若a在b和c之间,为true
LIKEa LIKE b如果a匹配b,为true
INa in(a1,a2,a3...)a为a1...中的某一个,为true
-- 查询M开头的姓名的工作
SELECT `ename`,`job`FROM emp WHERE
`ename` LIKE'M%'
-- 查询7902,7900号员工
SELECT `ename`,`empno`,`job` FROM emp
WHERE `empno`IN ('7902','7900');

4.2联表查询

JOIN

/*联表查询
确定交叉点
比如deptno
INNER JOIN 求交集

*/
SELECT s.`deptno`,`ename`,`dname`,`loc` FROM emp AS s
INNER JOIN dept AS r
WHERE s.`deptno`=r.`deptno`


-- 左联表查询
SELECT r.`deptno`,`ename`,`loc` FROM emp AS s
LEFT JOIN dept AS r
ON s.`deptno`=r.`deptno`
WHERE `loc` = 'NEW YORK'

七种联表查询:

在这里插入图片描述

自己的表和自己的表连接,核心:一张表拆成两张一样的表

.....

HashMap复习:

元素(值)--->哈希值--->索引值---->找到存储表---->索引位置无元素---->直接写入

--->索引位置有元素--->比对旧元素和该元素值是否相同--->相同则不写入,不相同在该位置后添加节点(链表)记录新元素,旧元素不动

键:值? ? 两者都可以是引用类型,但是这时要注意键的对象不能再进行修改,否则哈希后将找不到该值

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

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