数据库SQLServer——插入数据

打印 上一主题 下一主题

主题 836|帖子 836|积分 2508

1.插入数据语法

  1. INSERT INTO table_name(column_list) VALUES (value_list);
  2. --简写
  3. INSERT INTO table_name VALUES (value_list);
  4. INSERT table_name VALUES (value_list);
复制代码
2.实例

2.1基本情势(不安全)

  1. insert into 学生表01
  2. values('李明','男','1.70')
复制代码
          该方法将存储到表的每一列数据在values子句中给出,必须每列提供一个值。如果某列没有值应该使用NULL值(假定表允许对该列使用空值),各列必须以他们在表定义中出现的次序添补。
  2.2.安全情势 

  1. insert into 学生表01(姓名,性别,身高) values('李亮','女','1.60')
复制代码
           该语句与前面的insert语句工作完全相同,但是在表名后的括号里明确给出了列名。
  
在插入行时,DBMS将用values列表中的相应值填入列表的对应项中。由于提供了列名,

  
values必须以指定的次序匹配指定的列名,不愿定按照各列出现在表中的实际次序

   2.3插入部分行

  1. insert into 学生表 01(性别,姓名)
  2. values('女','大红')
复制代码
  省略的列必须满足以下某个条件:
1、该列定义为允许NULL值(无值或空值)
2、在表定义中给出默认值。这表示如果不给出值,将使用默认值。
  
如果表中不允许有NULL值或者默认值,这时却省略了表中的值,DBMS就会产生错误消息,相应的行不能插入成功。

  2.4插入检索出的数据

  1. insert into 学生表02(性别,姓名,身高)
  2. select 性别,姓名,身高
  3. from 学生表01
复制代码
           该例子使用inset select 从门生表01中将所有数据导入门生表02。select 语句从门生表01检索出要插入的数据,而不是列出他们。select中列出的每一列对应门生表02表名后所跟的每一列。insert select中select语句可以包含where子句,以过滤插入的数据。
  2.5插入同时返回插入的值

  1. insert into Students(
  2. NickName,StudentNo,Sex,Account,[Password]
  3. ) OUTPUT
  4. inserted.Id,
  5. inserted.NickName,
  6. inserted.StudentNo,
  7. inserted.Sex,
  8. inserted.Account,
  9. inserted.[Password]
  10. values
  11. ('王五','2003','女','user3','123456')
复制代码
执行结果:
 
2.6插入多行数据 

  1. insert into Students(
  2. NickName,StudentNo,Sex,Account,[Password]
  3. )
  4. values
  5. ('张三','2011','男','user11','123456'),
  6. ('李四','2022','男','user12','123456'),
  7. ('王麻子','2013','女','user13','123456')
复制代码
          也可以省略括号的内容。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表