1)语法
2)两种方式区别
方式一使用最多。它支持插入多行;支持嵌入子查询。方式二不支持。
3)特点
①字段类型和值类型一致或兼容,而且一一对应
②可以为空的字段,可以不用插入值,或用null填充
③不可以为空的字段,必须插入值
④字段个数和值的个数必须一致
⑤字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致
1)语法
2)栗子
1)语法
2)栗子
3)两种方式区别
① truncate不能加where条件,而delete可以加where条件
② truncate的效率高一点
③truncate 删除带自增长的列的表后,如果再插入数据,数据从1开;delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
④truncate删除不能回滚,delete删除可以回滚
1)库的管理:
2)表的管理:
注意:对于表和库的管理,语句理解就好。工作中最方便的是直接在Navicat中直接 *** 作。那么,这里重要的是复制表,它的需求通常是直接复制表的结构或数据,或者部分数据及部分结构。不需要重新再创建表结构,导数据。直接用SQL,效率会很高,且不容易出错。
上面在创建表时,涉及到数据类型。它和Python程序语言类似,也有自己的数据类型。都是在存储数据时,要对数据类型进行限制,保证插入数据时的准确性。分类分别是数值型、字符型、日期型。图中标记部分为常用。
上面在创建表时涉及到约束,它是工作中非常重要的。我们从一个问题场景来看,下面是一个真实的面试题。我们第一反应是"报错!",但是面试官想听的是背后报错原因及解决方案。下面,带着问题来学习约束。
约束是一种限制,用于限制表中的数据结构,为了保证表中的数据的准确和可靠性、一致性。比如:创建用户表时,为了保证每一个用户唯一性,就需要进行约束。添加约束的时机分别是创建表、修改表时。SQL中有五大常用约束。如下:
①NOT NULL 非空约束,保证该字段的值不为空。如:用户ID
②DEFAULT 默认约束,字段如果不插入数据也有默认值。如:性别
③UNIQUE 唯一约束,可以为空。如:商品类别
④PRIMARY KEY 主键,保证字段唯一性、非空。如:ID,员工编号
⑤FOREIGN KEY 外键,用于限制两个表之间的关系,用于保证该字段的值必须来自主表的关联列的值。如:用户表里有个外键是order_id, order_id是order的主键。下图是约束在Navicat中设置的对应位置。
最后回答下上面的问题:原因是int类型的id字段最大数据量支持到4294967295,如果超过则会报错。解决方案:①检查id字段是否是主键②将id的类型转换为 bigint。
好,今天学习到这里。本节内容相对上一节要简单些。虽然简单,但每个知识点都是工作中常用的。这篇文章主要是SQL的增删改和表和库的管理。明天继续学习SQL的事务及视图。一起加油!
本篇重点为大家讲解 组合数据、数据插入、更新和删除数据 相关内容。
多数SQL查询只包含从一个或多个表中返回数据的单条 SELECT 语句。但是,SQL也允许执行多个查询,并将结果作为一个查询结果集返回。这些组合查询通常称为并 (union) 或复合查询 (compound query)。
主要有 两种情况 需要使用组合查询:
在一个查询中从不同的表返回结构数据;
对一个表执行多个查询,按一个查询返回数据。
创建组合查询
利用 UNION ,可给出多条 SELECT 语句,将它们的结果组合成一个结果集。
使用方法: 给出每条SELECT语句,在各条语句之间放上关键字UNION。
假如需要Illinois、Indiana和Michigan等美国几个州的所有顾客的报表,还想包括不管位于哪个州的所有的Fun4All。
分析:这条语句由两条 SELECT语句 组成,之间用 UNION 关键字分隔。UNION指示DBMS执行这两条SELECT语句,并把输出组合成一个查询结果集。
在简单的例子中,使用UNION可能比使用WHERE子句更为复杂。但对于较复杂的过滤条件,或者从多个表中检索数据的情形,使用UNION可能会使处理更简单。
1、UNION规则
UNION必须由 两条或两条以上 的SELECT语句组成,语句之间用关键字 UNION分隔。
UNION中的每个查询必须包含相同的 列、表达式或聚集函数。
列数据类型 必须兼容 :类型不必完全相同,但必须是DBMS可以隐含转换的类型。
2、包含或取消重复的行
使用 UNION 时, 重复的行会被自动取消 ,这是UNION的默认行为,如果想返回所有的匹配行,可使用 UNION ALL 。
3、对组合查询结果排序
在用 UNION组合查询 时,只能使用一条 ORDER BY 子句,它必须位于最后一条SELECT语句之后。
TopBDA大数据分析师培训
除了SQL数据库学习,还有大量数据分析知识和实 *** 等你 探索 !
SELECT是最常用的SQL语句,还有其他3个常用的SQL语句需要学习,第一个就是 INSERT ,另外两个之后为大家介绍。
INSERT用来 将行插入或添加到数据库表 ,插入有几种方式:
插入完整的行;
插入行的一部分;
插入某些查询的结果。
插入完整的行
把数据插入表中的最简单方法是使用基本的 INSERT 语法。
分析:在插入行时,DBMS将用VALUES列表中的相应值填入列表中的对应项。VALUES中的第一个值对应于第一个指定列名,第二个值对应于第二个列名,如此等等。
插入部分行
使用这种语法,还可以 省略列 ,这表示可以只给某些列提供值,给其他列不提供值。
分析:没有给 cust_contact 和 cust_email 这两列提供值,这表示没必要在INSERT语句中包含它们。因此,这里的INSERT语句 省略了这两列及其对应的值。
插入检索出的数据
INSERT一般用来给表插入具有指定列值的行。
INSERT还存在另一种形式, 可以利用它将SELECT语句的结果插入表中, 这就是所谓的 INSERT SELECT 。
假如想把另一表中的顾客列合并到Customers表中,不需要每次读取一行再将它用INSERT插入,可以如下进行:
分析:使用INSERT SELECT从CustNew中将所有数据导入Customers。SELECT语句从CustNew检索出要插入的值,SELECT中列出的每一列对应于Customers表名后所跟的每一列。
从一个表复制到另一个表
可以使用 CREATE SELECT 语句(或者在SQL Server里也可用 SELECT INTO 语句)。
与 INSERT SELECT 将数据添加到一个已经存在的表不同,CREATE SELECT将数据复制到一个新表。
使用SQL Server,可以这么写:
分析:创建一个名为CustCopy的新表,并把Customers表的整个内容复制到新表中。
在使用 SELECT INTO 时,任何SELECT选项和子句都可以使用,包括 WHERE 和 GROUP BY ;可利用连接从多个表插入数据;不管从多少个表中检索数据,数据都只能插入到一个表中。
更新数据
更新表中的数据,可以使用 UPDATE 语句,使用UPDATE的方式有两种:
更新表中的特定行;
更新表中的所有行。
基本UPDATE语句由三部分组成,分别是:
要更新的表;
列名和它们的新值;
确定要更新哪些行的过滤条件。
举一个简单例子,客户1现在有了电子邮件地址,因此他的记录需要更新,语句如下:
分析:UPDATE语句以要更新的表名开始。要更新的表名为Customers。SET命令用来将新值赋给被更新的列。UPDATE语句以WHERE子句结束,它告诉DBMS更新哪一行。
更新多个列的语法稍有不同。
分析:在更新多个列时,只需要使用一条SET命令,每个“列=值”对之间用逗号分隔(最后一列之后不用逗号)。
要删除某个列的值,可设置它为NULL。
分析:NULL用来去除cust_email列中的值。
删除数据
从一个表中删除数据,使用DELETE语句,使用DELETE的方式有两种:
从表中删除特定的行;
从表中删除所有行。
分析:DELETEFROM要求指定删除数据的表名,WHERE子句过滤要删除的行。如果省略WHERE子句,它将删除表中每个顾客。
DELETE不需要列名或通配符 ,DELETE删除整行而不是删除列,要删除指定的列,使用 UPDATE 语句。
使用 UPDATE或DELETE 时所遵循的重要原则:
除非更新和删除每一行,否则绝对不要使用不带WHERE子句的UPDATE或DELETE语句。
保证每个表都有主键,尽可能像WHERE子句那样使用它。
在UPDATE或DELETE语句使用WHERE子句前,应该先用SELECT进行测试,保证它过滤的是正确的记录,以防编写的WHERE子句不正确。
使用强制实施引用完整性的数据库,这样DBMS将不允许删除其数据与其他表相关联的行。
有的DBMS允许数据库管理员施加约束,防止执行不带WHERE子句的UPDATE或DELETE语句。若是SQL没有撤销(undo)按钮,应该非常小心地使用UPDATE和DELETE。
以上就是今天分享的全部内容,下期重点为大家介绍 使用视图和创建和 *** 纵表 ,我们下期见!
《东南大学SQL数据库基础资料》百度网盘资源免费下载
链接: https://pan.baidu.com/s/1X0OqhxxjegbZ4oYD-GNWRw
?pwd=d7k3 提取码: d7k3东南大学 SQL数据库基础 全39讲 主讲-幸研 附复习课|各学科 学习视频目录|复习课|数据库基础003.csf|数据库基础002.csf|数据库基础001.csf|数据库基础(复习)042.csf|数据库基础(复习)041.csf|数据库基础(复习)040.csf|政治目录.txt|哲学目录.txt|语言目录.txt|艺术目录.txt|医学目录.txt|心理目录.txt
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)