首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

两万字图文 SQL 零基础入门,不怕你学不会,就怕你不收藏!❤️

SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中插入新的记录 SQL 可更新数据库中的数据 SQL 可从数据库删除记录 SQL 可创建新数据库 SQL 可在数据库中创建新表...其余 4 列的数据类型是 varchar,最大长度为 255 个字符。 空的 “Persons” 表类似这样: 可使用 INSERT INTO 语句向空表写入数据。 ????...注意: 在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 null 时,情况也是这样的。 ???? UPDATE – 更新数据 Update 语句用于修改表中的数据。...语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值; 实例: 更新某一行中的一个列: 目前 Persons 表有很多字段为 null 的数据,可以通过 UPDATE 为...在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。 如图,“Id_P” 列是 Persons 表中的的主键。

8.4K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面向对象(二十九)-MySql

    简单的说数据库就是装数据、管理数据的地方,每个网站的资源(比如图像、声音、视屏、软件等)、每个游戏的资源,都是放在服务器里的数据库中的。 什么是 SQL?...SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中插入新的记录 SQL 可更新数据库中的数据 SQL 可从数据库删除记录 SQL 可创建新数据库 SQL 可在数据库中创建新表...SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。...向表中插入数据 insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下: insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1,...update 语句可用来修改表中的数据, 基本的使用形式为: update 表名称 set 列名称=新值 where 更新条件; 使用示例: 将id为5的手机号改为默认的"-": update students

    1.6K10

    六年开发经验,整理Mysql数据库技巧笔记,全网最详细的笔记集合!

    位于同一个磁盘块中的数据会被一次性读取出来,而不是需要什么取什么。 InnoDB 存储引擎中有页(Page)的概念,页是其磁盘管理的最小单位。InnoDB 存储引擎中默认每个页的大小为 16KB。...where 条件中的顺序 如果组合索引中最左边的列不在查询条件中,则不会命中索引 SELECT * FROM user WHERE address = '北京'; InnoDB和MyISAM存储数据和索引上的区别...innodb是将数据和索引存储在.ibd文件中的 myisam是将索引存储在.myi文件中,将数据存储在.myd文件中,先去myi文件中找到数据的磁盘地址,再去myd文件中根据地址直接获取数据。...针对同一份数据,多个事务读取操作可以同时加锁而不互相影响 ,但是不能修改数据。 排他锁:也叫写锁。当前的操作没有完成前,会阻断其他操作的读取和写入。 按粒度分类 表级锁:会锁定整个表。开销小,加锁快。...方式二:和版本号方式基本一样,给数据表中添加一个列,名称无所谓,数据类型需要是 timestamp。 每次更新后都将最新时间插入到此列。 读取数据时,将时间读取出来,在执行更新的时候,比较时间。

    1.4K20

    SQL数据分析:从基础入门到进阶,提升SQL能力

    SQL 语句用于取回和更新数据库中的数据。...SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中插入新的记录 SQL 可更新数据库中的数据 SQL 可从数据库删除记录 SQL 可创建新数据库 SQL 可在数据库中创建新表...其余 4 列的数据类型是 varchar,最大长度为 255 个字符。 空的 “Persons” 表类似这样: 可使用 INSERT INTO 语句向空表写入数据。...如果第一列中有些值为 null 时,情况也是这样的。 UPDATE – 更新数据 Update 语句用于修改表中的数据。...语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值; 实例: 更新某一行中的一个列: 目前 Persons 表有很多字段为 null 的数据,可以通过 UPDATE 为

    3.3K42

    NIFI里你用过PutDatabaseRecord嘛?

    如果为false,则字段名称必须与列名称完全匹配,否则该列将不会更新 Unmatched Field Behavior Ignore Unmatched Fields Ignore Unmatched...如果语句类型为UPDATE且未设置此属性,则使用表的主键。在这种情况下,如果不存在主键,并且如果“不匹配的列行为”设置为“失败”,则到SQL的转换将失败。...如果语句类型不是“SQL”,则忽略此字段。 Quote Column Identifiers false true false 启用此选项将导致所有列名都被引用,从而允许你将保留字用作表中的列名。...然后得说一下这个Translate Field Names,这个功能点其实非常好,其实就是将列名转大写替换下划线(Record中的列和指定表的列都做此转换,指定表的列信息会做成一个Map映射,转换的列名...这个功能其实就是帮助我们更好的对Record列和目标表列进行匹配。而SQL中的列名其实用的还是从指定表查询出来的列元数据信息。 ? 文章有帮助的话,小手一抖点击在看,并转发吧。

    3.6K20

    sql学习

    趁着假期学习总结下~ sql简介 sql可以查询、从数据库取出数据、插入、更新、删除、创建新的数据库、创建新表、创建存储过程、创建视图、设置表视图和存储过程的权限。...sql语法 一个数据库常包含一个或多个表,每个表由一个名字标识,表包含带有数据的记录。...sql对大小写不敏感 SQL SELECT语句 SELECT语句用于从一个表中选取数据,结果被存储在一个结果表中 语法: select 列名称 from 表名称 从表名称对应的数据库表中取出列名称所对应的列的内容...charlist] 不在字符列中的任何单一字符 SQL IN操作符 IN操作符允许我们在WHERE子句中规定多个值。...PRIMARY KEY约束 主键约束唯一标识数据库表中的每条记录。其中,主键必须包含唯一的值,不能包含NULL值,每个表都应该有一个主键,并且每个表只能有一个主键。

    4.7K30

    MySQL(九)插入、更新和删除

    null); 这条SQL语句插入一条新的个人信息到usertable表,存储在每个表列中的数据在values中给出,对每个列必须提供一个值,如果某个列没有值,应使用null(假定表允许对该项指定空值);...,则可以在insert操作中省略某些列,列必须满足这两个条件(1.改列定义为允许null值;2.在表定义中给出默认值【如果不给出值,则使用默认值】); ③数据库被多个用户访问,一般检索是最重要的,可以通过在...语句中,select从newtablebase表中检索出要插入的数据,select列出的每个列对应tablebase表名后所跟的列表中的每个列。...二、更新数据 如果要更新(修改)表中的数据,可以使用update语句,有以下两种方法: ①更新表中特定行; ②更新表中所有行; update语句由三部分构成: ①要更新的表; ②列名和它们的新值; ③确定要更新行的过滤条件...PS:delete不需要列名或者通配符,delete删除整行而不是整列,为了删除指定的列,可使用update语句(delete从表中删除行甚至表中所有行,但不删除表本身);    如果想删除表中所有行,

    2K20

    leet-code两表求合查询

    试题要求 编写一个SQL查询来报告Person表中每个人的姓、名、城市和州。如果personId的地址不在Address表中,则报告为空null 。以 任意顺序 返回结果表。...考虑到可能不是每个人都有地址信息,我们应该使用 outer join 而不是默认的 inner join。...为什么不在“成绩”表里呢? 如果有的学生没有选修课程,那么他就不会出现在“成绩”表里,所以“成绩”表没有包含“所有学生”。 所以要以“学生”表进行左联结,保留左边表(学生表)里的全部数据。...left outer join ,左外连接,结果表中除了匹配行外,还包括左表有而右表中不匹配的行,对于这样的行,右表选择列置为null right outer join ,右外连接,结果表中除了匹配行外...,还包括右表有而左表中不匹配的行,对于这样的行,左表选择列置为null natural join,自然连接,分为natural left outer join和natural right outer join

    50910

    硬核!Apache Hudi Schema演变深度分析与应用

    ) 为根级别的字段改变数据类型从 int到long 是(全) 将嵌套字段数据类型从int到long 是(全) 将复杂类型(映射或数组的值)数据类型从int到long 是(全) 0.11写入前捕获是否存在新增列删除列的情况,新增列的情况及时补空数据和struct,新增列的数据及时写入Hudi中;删除列则数据补空,struct不变,删除列仍写入Hudi中;每天需要重导数据处理删除列和修改列的情况...实现完整schema变更的查询 大体流程如下: 1.总体流程为某个查询进入dataSource中,选择具体的relacation,获取查询schema,获取scan 2.在scan中获取每个基础文件或日志的数据块对应的数据...,此处不再细述,此处修改列操作后都同步Hive元数据 操作类型 是否支持 原因 新增列 是 按列名查询基础文件,文件没有的列返回null 删除列 是 按列名查询基础文件,文件原有列跳过 改列名 否 按列名查询不到...是 按列名查询基础文件和日志文件,文件没有的列返回null 删除列 是 按列名查询基础文件和日志文件,文件原有列跳过 改列名 否 按列名查询不到old_field值,能查询到new_field的值

    1.4K30

    SQL必知必会总结3-第14到17章

    , NULL ) 将上面的数据插入到Customers表中,每列对应一个值。...要删除列请使用UPDATE语句 更新和删除的指导原则 请一定要带上WHERE子句,否则会修改全部的数据;除非我们的确是需要更新全部记录(少见) 要保证每个表都有主键,可以指定各个主键、多个值或者值的范围...列名在圆括号中,各个列之间通过逗号隔开 每列的定义以列名开始,后紧跟数据类型 ,是否允许控制等 整条语句是以分号结束 使用NULL值 NULL值就是没有值或者缺失值。...每个表中的列要么是NULL列,要么是NOT NULL列。 主键是其值唯一标识表中每一行的列。只有不允许NULL值的列可作为主键,允许NULL值的列不能作为唯一标识。 笔记:NULL是默认设置。...注意NULL和空字符串的区别: NULL值没有值,不是空字符串 空字符串值一个有效的值,它不是无值 NULL值使用关键字NULL而不是空字符串指定 指定默认值 SQL中创建表的时候可以指定通过关键字DEFAULT

    1.4K41

    《SQL必知必会》万字浓缩精华

    数据库中的每个列都应该是具有的相同数据类型datatype。数据类型定义了列可以存储哪些数据类型。 行 表中的数据是按照行来进行存储的,所保存的每个记录存储在自己的行内。...列名在圆括号中,各个列之间通过逗号隔开 每列的定义以列名开始,后紧跟数据类型 ,是否允许控制等 整条语句是以分号结束 使用NULL值 NULL值就是没有值或者缺失值。...每个表中的列要么是NULL列,要么是NOT NULL列。 主键是其值唯一标识表中每一行的列。只有不允许NULL值的列可作为主键,允许NULL值的列不能作为唯一标识。 笔记:NULL是默认设置。...笔记:简答来说,存储过程就是为以后使用而保存的一条或者多条SQL语句。...只能处理DML语句:insert、update、delete语句 回退rollback:指撤销指定SQL的语句 提交commit:指将未存储的SQL语句结果写入到数据库表;只有进行了commit操作,数据才会从内存中写入磁盘中

    7.5K31

    大数据NiFi(十八):离线同步MySQL数据到HDFS

    Max Rows Per Flow File (每个FlowFile行数) 0 在一个FlowFile文件中的数据行数。通过这个参数可以将很大的结果集分到多个FlowFile中。...Normalize Table/Column Names (标准表/列名) false true false 是否将列名中不兼容avro的字符修改为兼容avro的字符。...Normalize Table/Column Names (标准表/列名) false true false 是否将列名中不兼容avro的字符修改为兼容avro的字符。...: 四、配置“PutHDFS”处理器 该处理器是将FlowFile数据写入到HDFS分布式文件系统中。...如果想要存入HDFS文件为多行而不是一行,可以将“CovertAvroToJson”处理器属性“JSON container options”设置为none,直接解析Avro文件得到一个个json数据,

    4.9K91

    SQL必知必会总结

    存储在表中的数据是同一种类型的数据或者清单 数据库中的每个表都有自己的名字,并且这个表是唯一的。 列 表是由列组成的,列存储表中某部分的信息。列是表中的某个字段。...所有的表都是由一个或者多个列组成的。 数据库中的每个列都应该是具有的相同数据类型datatype。数据类型定义了列可以存储哪些数据类型。...每个表中的列要么是NULL列,要么是NOT NULL列。 主键是其值唯一标识表中每一行的列。只有不允许NULL值的列可作为主键,允许NULL值的列不能作为唯一标识。 笔记:NULL是默认设置。...笔记:简答来说,存储过程就是为以后使用而保存的一条或者多条SQL语句。...只能处理DML语句:insert、update、delete语句 回退rollback:指撤销指定SQL的语句 提交commit:指将未存储的SQL语句结果写入到数据库表;只有进行了commit操作,数据才会从内存中写入磁盘中

    9.2K30

    常用SQL语句和语法汇总

    表定义的更新(添加列) ALTER TABLE ADD COLUMN 列的定义>; 表定义的更新(删除列) ALTER TABLE DROP TABLE 列名>; 列的查询 SELECT...FROM ORDER BY 列1>, 列2>, ...; SQL常用规则3 COUNT(*)会得到包含NULL的数据行数,而COUNT(列名>)会得到NULL之外的数据行数...MAX/MIN函数几乎适用于所有数据类型的列,SUM/AVG只适用于数值类型的列 想要计算值得种类时,可以在COUNT函数前使用关键字DISTINCT 聚合键中包含NULL时,在结果中会以不确定(空行)...SQL常用规则5 表中存储的是实际数据,而视图中保存的是从表中提取数据所使用的SELECT语句 应该将经常使用的SELECT语句做成视图 定义视图时不要使用ORDER BY子句 视图和表需要同时进行更新...) COALESCE函数(将NULL转换为其他值) COALESCE(数据1, 数据2, 数据3....)

    3.1K80

    MYSQl规范

    不在数据库做运算:cpu计算务必移至业务层 控制单表数据量:单表记录控制在1000w 控制列数量:字段数控制在20以内 平衡范式与冗余:为提高效率牺牲范式设计,冗余数据 拒绝3B:拒绝大sql,...避免使用NULL字段 NULL字段很难查询优化 NULL字段的索引需要额外空间 NULL字段的复合索引无效 少用text/blob varchar的性能会比text高很多 实在避免不了blob...,请拆表 谨慎合理使用索引 改善查询、减慢更新 索引一定不是越多越好(能不加就不加,要加的一定得加) 覆盖记录条数过多不适合建索引,例如“性别” 不在索引做列运算 bad case:select...,采用下划线分隔 abc,Abc,ABC都是给自己埋坑 库名,表名,列名必须见名知义,长度不要超过32字符 tmp,wushan谁TM知道这些库是干嘛的 建议将大字段,访问频度低的字段拆分到单独的表中存储...,分离冷热数据 禁止在where条件列使用函数或者表达式 禁止大表JOIN和子查询

    44110

    MySQL 教程上

    charlist] 不在字符列中的任何单一字符 下面的 SQL 语句选取 name 以 A 到 H 字母开头的网站: SELECT * FROM Websites WHERE name REGEXP...LIMIT and OFFSET OFFSET 可以理解为偏移量。若理解为数据库查询下标从 0 开始。因此第一个被检索的行是第 0 行,而不是第 1 行。...INSERT SELECT 中的列名 为简单起见,这个例子在 INSERT 和 SELECT 语句中使用了相同的列名。但是,不一定要求列名匹配。事实上,MySQL 甚至不关心SELECT 返回的列名。...它使用的是列的位置,因此 SELECT 中的第一列(不管其列名)将用来填充表列中指定的第一个列,第二列将用来填充表列中指定的第二个列,如此等等。这对于从使用不同列名的表中导入数据是非常有用的。...即使是发生错误,也继续进行更新,可使用 IGNORE 关键字,如下所示:UPDATE IGNORE customers… 为了删除某个列的值,可设置它为 NULL(假如表定义允许NULL值)。

    3.4K10

    ☆打卡算法☆LeetCode 175. 组合两个表 算法解析

    大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。...一、题目 1、算法题目 “编写一个SQL查询来报告包中每个人的信息,如果id不在表中,则报告显示为空,返回结果表。” 题目链接: 来源:力扣(LeetCode) 链接: 175....组合两个表 - 力扣(LeetCode) 2、题目描述 表: Person +-------------+---------+ | 列名 | 类型 | +------------...编写一个SQL查询来报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为空  null 。 以 任意顺序 返回结果表。...-------------+----------+ 解释: 地址表中没有 personId = 1 的地址,所以它们的城市和州返回 null。

    29110

    SQL基础--> 数据处理(DML、RETURNING、MERGE INTO)

    .]); 使用这种语法一次只能向表中插入一条数据。 为每一列添加一个新值。 按列的默认顺序列出各个列的值。 在INSERT 子句中随意列出列名和他们的值。...字符和日期型数据应包含在单引号中。 --查看emp表的表结构 SQL> DESC emp; Name Null?...注意此处省略了列列表,当列的列表被省略时,则values关键字中应当为所有的字段列提供列值 SQL> INSERT INTO emp VALUES(100,'Jack','manager',null,...[WHERE condition]; 可以一次更新多条数据。 使用WHERE 子句指定需要更新的数据,如果省略WHERE子句,则表中的所有数据都将被更新。...六、在DML语句中使用WITH CHECK OPTION 子查询可以用来指定DML语句的表和列 WITH CHECK OPTION 关键字可以防止更改不在子查询中的行 --deptno列不在select

    88420

    MySQL 慢查询、 索引、 事务隔离级别

      慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表   默认的阈值(long_query_time)是 10,这个显然不可用,通常,对于用户级应用而言,我们将它设置为 0.2...例如:all 表示全表扫描,性能最差; range 表示使用索引范围扫描,通常是 where 条件中带有数学比对的;index 表示全索引扫描,扫描索引而不扫描数据 possible_keys:...如果可以,则为 1 -- Key_name:索引的名称 -Seq_in_index:索引中的列序列号,从 1 开始 -- Column_name:列名称 -- Collation:列以什么方式存储在索引中...索引列不能参与计算,保持列“干净”,比如 from_unixtime(create_time) = ’2014-05-29’就不能使用到索引,原因很 简单,b+树中存的都是数据表中的字段值,但进行检索时...  幻读(PhantomRead): 在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在 此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的

    2.8K50
    领券