当前位置: 首页 > news >正文

上饶市网站建设_网站建设公司_SQL Server_seo优化

网站建设书模板,南山高端网站建设,重庆网站关键词排名优化,如何提升网站加载速度文章目录 15.1 数据插入15.1.1 插入完整的行15.1.2 插入部分行15.1.3 插入检索出的数据 15.2 从一个表复制到另一个表 这一课介绍如何利用SQL的INSERT语句将数据插入表中。 15.1 数据插入 毫无疑问#xff0c;SELECT是最常用的SQL语句了#xff0c;这就是前14课都在讲它的原… 文章目录 15.1 数据插入15.1.1 插入完整的行15.1.2 插入部分行15.1.3 插入检索出的数据 15.2 从一个表复制到另一个表 这一课介绍如何利用SQL的INSERT语句将数据插入表中。 15.1 数据插入 毫无疑问SELECT是最常用的SQL语句了这就是前14课都在讲它的原因。但是还有其他3个常用的SQL语句需要学习。第一个就是INSERT下一课介绍另外两个。 顾名思义INSERT用来将行插入或添加到数据库表。插入有几种方式 插入完整的行插入行的一部分插入某些查询的结果。 下面逐一介绍这些内容。 提示插入及系统安全 使用INSERT语句可能需要客户端/服务器DBMS中的特定安全权限。在你试图使用INSERT前应该保证自己有足够的安全权限。 15.1.1 插入完整的行 把数据插入表中的最简单方法是使用基本的INSERT语法它要求指定表名和插入到新行中的值。下面举一个例子 输入▼ INSERT INTO Customers VALUES(1000000006,Toy Land,123 Any Street,New York,NY,11111,USA,NULL,NULL); 分析▼ 这个例子将一个新顾客插入到Customers表中。存储到表中每一列的数据在VALUES子句中给出必须给每一列提供一个值。如果某列没有值如上面的cust_contact和cust_email列则应该使用NULL值假定表允许对该列指定空值。各列必须以它们在表定义中出现的次序填充。 提示INTO关键字 在某些SQL实现中跟在INSERT之后的INTO关键字是可选的。但是即使不一定需要最好还是提供这个关键字这样做将保证SQL代码在DBMS之间可移植。 虽然这种语法很简单但并不安全应该尽量避免使用。上面的SQL语句高度依赖于表中列的定义次序还依赖于其容易获得的次序信息。即使可以得到这种次序信息也不能保证各列在下一次表结构变动后保持完全相同的次序。因此编写依赖于特定列次序的SQL语句是很不安全的这样做迟早会出问题。 编写INSERT语句的更安全不过更烦琐的方法如下 输入▼ INSERT INTO Customers(cust_id, cust_name,cust_address,cust_city,cust_state,cust_zip, cust_country,cust_contact, cust_email) VALUES(1000000006,Toy Land,123 Any Street,New York, NY, 11111, USA,NULL, NULL); 分析▼ 这个例子与前一个INSERT语句的工作完全相同但在表名后的括号里明确给出了列名。在插入行时DBMS将用VALUES列表中的相应值填入列表中的对应项。VALUES中的第一个值对应于第一个指定列名第二个值对应于第二个列名如此等等。 因为提供了列名VALUES必须以其指定的次序匹配指定的列名不一定按各列出现在表中的实际次序。其优点是即使表的结构改变这条INSERT语句仍然能正确工作。 下面的INSERT语句填充所有列与前面的一样但以一种不同的次序填充。因为给出了列名所以插入结果仍然正确 输入▼ INSERT INTO Customers(cust_id,cust_contact,cust_email,cust_name,cust_address,cust_city, cust_state, cust_zip) VALUES(1000000006, NULL, NULL,Toy Land,123 Any Street,New York,NY,11111); 提示总是使用列的列表 不要使用没有明确给出列的INSERT语句。给出列能使SQL代码继续发挥作用即使表结构发生了变化。 警告小心使用VALUES 不管使用哪种INSERT语法VALUES的数目都必须正确。如果不提供列名则必须给每个表列提供一个值如果提供列名则必须给列出的每个列一个值。否则就会产生一条错误消息相应的行不能成功插入。 15.1.2 插入部分行 正如所述使用INSERT的推荐方法是明确给出表的列名。使用这种语法还可以省略列这表示可以只给某些列提供值给其他列不提供值。 请看下面的例子 输入▼ INSERT INTO Customers(cust_id,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country) VALUES(1000000006,Toy Land,123 Any Street,New York,NY,11111,USA); 分析▼ 在本课前面的例子中没有给cust_contact和cust_email这两列提供值。这表示没必要在INSERT语句中包含它们。因此这里的INSERT语句省略了这两列及其对应的值。 警告省略列 如果表的定义允许则可以在INSERT操作中省略某些列。省略的列必须满足以下某个条件。 该列定义为允许NULL值无值或空值。在表定义中给出默认值。这表示如果不给出值将使用默认值。 如果对表中不允许NULL值且没有默认值的列不给出值DBMS将产生错误消息并且相应的行插入不成功。 警告省略所需的值 如果表中不允许有NULL值或者默认值这时却省略了表中的值DBMS就会产生错误消息相应的行不能成功插入。 15.1.3 插入检索出的数据 INSERT一般用来给表插入具有指定列值的行。INSERT还存在另一种形式可以利用它将SELECT语句的结果插入表中这就是所谓的INSERT SELECT。顾名思义它是由一条INSERT语句和一条SELECT语句组成的。 假如想把另一表中的顾客列合并到Customers表中。不需要每次读取一行再将它用INSERT插入可以如下进行 输入▼ INSERT INTO Customers(cust_id,cust_contact,cust_email,cust_name, cust_address,cust_city,cust_state,cust_zip,cust_country) SELECT cust_id,cust_contact,cust_email,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country FROM CustNew; 说明新例子的说明 这个例子从一个名为CustNew的表中读出数据并插入到Customers表。为了试验这个例子应该首先创建和填充CustNew表。CustNew表的结构与附录A中描述的Customers表相同。在填充CustNew时不应该使用已经在Customers中用过的cust_id值如果主键值重复后续的INSERT操作将会失败。 分析▼ 这个例子使用INSERT SELECT从CustNew中将所有数据导入Customers。SELECT语句从CustNew检索出要插入的值而不是列出它们。SELECT中列出的每一列对应于Customers表名后所跟的每一列。这条语句将插入多少行呢这依赖于CustNew表有多少行。如果这个表为空则没有行被插入也不产生错误因为操作仍然是合法的。如果这个表确实有数据则所有数据将被插入到Customers。 提示INSERT SELECT中的列名 为简单起见这个例子在INSERT和SELECT语句中使用了相同的列名。但是不一定要求列名匹配。事实上DBMS一点儿也不关心SELECT返回的列名。它使用的是列的位置因此SELECT中的第一列不管其列名将用来填充表列中指定的第一列第二列将用来填充表列中指定的第二列如此等等。 INSERT SELECT中SELECT语句可以包含WHERE子句以过滤插入的数据。 提示插入多行 INSERT通常只插入一行。要插入多行必须执行多个INSERT语句。INSERT SELECT是个例外它可以用一条INSERT插入多行不管SELECT语句返回多少行都将被INSERT插入。 15.2 从一个表复制到另一个表 有一种数据插入不使用INSERT语句。要将一个表的内容复制到一个全新的表运行中创建的表可以使用SELECT INTO语句。 说明DB2不支持 DB2不支持这里描述的SELECT INTO。 与INSERT SELECT将数据添加到一个已经存在的表不同SELECT INTO将数据复制到一个新表有的DBMS可以覆盖已经存在的表这依赖于所使用的具体DBMS。 说明INSERT SELECT与SELECT INTO 它们之间的一个重要差别是前者导出数据而后者导入数据。 下面的例子说明如何使用SELECT INTO 输入▼ SELECT * INTO CustCopy FROM Customers; 分析▼ 这条SELECT语句创建一个名为CustCopy的新表并把Customers表的整个内容复制到新表中。因为这里使用的是SELECT 所以将在CustCopy表中创建并填充与Customers表的每一列相同的列。要想只复制部分的列可以明确给出列名而不是使用通配符。 MariaDB、MySQL、Oracle、PostgreSQL和SQLite使用的语法稍有不同 输入▼ CREATE TABLE CustCopy AS SELECT * FROM Customers; 在使用SELECT INTO时需要知道一些事情 任何SELECT选项和子句都可以使用包括WHERE和GROUP BY可利用联结从多个表插入数据不管从多少个表中检索数据数据都只能插入到一个表中。 提示进行表的复制 SELECT INTO是试验新SQL语句前进行表复制的很好工具。先进行复制可在复制的数据上测试SQL代码而不会影响实际的数据。 上一篇第14课 SQL入门之组合查询 下一篇第16课 SQL入门之更新和删除数据
http://www.ihoyoo.com/news/36401.html

相关文章:

  • 免费传奇网站免费传奇怎么自己做彩票网站吗
  • 阜宁网站建设公司在线网页转pdf
  • 企业网站推广的渠道关于网站开发的论文
  • 的网站建设公司那个好西安网站建设模板
  • 广西南宁网站建设有限公司做纹身注册什么网站好
  • 房地产网站大全lpl赛区战绩
  • 建设电影网站怎么上传电影forpress wordpress wp另类
  • 站长之家域名ip查询创意交易平台官网
  • 单位网站链接怎样做福田蒙派克4s店电话和地址
  • 免费建设淘宝客网站信誉好的扬州网站建设
  • 使用模板怎么建站重庆制作网站首页
  • 电商建设网站建筑资料软件
  • 个人网站怎么建网络公司经营范围可以加婚介吗
  • 食品企业网站模板学校网站建设流程图
  • 湖州品牌网站设计虚拟主机怎么设计网站
  • 网站建设营销一站式服务永久免费视频会议服务器
  • 哪些网站可以做自媒体天元建设集团有限公司是什么性质
  • 网站可以免费建设吗优秀网站ui设计
  • 网站采集来源上海公共招聘网官网
  • 网站建设的技术有哪些内容抖音视界北京有限公司
  • 网站漏洞扫描工具成都软件开发培训机构
  • 都匀网站开发Wordpress怎么做导航页
  • 中文网站建设设计建筑网课平台
  • 门户网站内容建设门户网站网站开发
  • 阿里巴巴国际站网页版小说网站建设详细流程
  • 如何让百度收录中文域名网站主机屋网站空间的IP
  • 私人网站制作企业关键词优化推荐
  • 网站优化协议设计工作室装修
  • 贵阳网站建设哪家好方舟中国七大网络运营商
  • 目前做网站流行的是什么Wordpress前端用户头像