SQL基础⑤

本文详细介绍了SQL联合查询的注意事项及INSERT语句的各种用法,包括如何进行联合查询、INSERT语句的基本语法、特殊用法及其注意事项。

1、联合查询注意事项

   ① 联合查询时,查询结果的列标题为第一个查询语句的列标题。因此,要定义列标题必须在第一个查询语句中定义。要对联合查询结果排序时,也必须使用第一查询语句中的列名、列标题或者列序号。

    ②在使用UNION 运算符时,应保证每个联合查询语句的选择列表中有相同数量的表达式,并且每个查询选择表达式应具有相同的数据类型,或是可以自动将它们转换为相同的数据类型。在自动转换时,对于数值类型,系统将低精度的数据类型转换为高精度的数据类型。

③在包括多个查询的UNION语句中,其执行顺序是自左至右,使用括号可以改变这一执行顺序。例如:

查询1 UNION (查询2 UNION 查询3)

 

2、INSERT语句

①INSERT  INTO  <表名> (列1,列2,列3,……) VALUES(值1,值2,值3,……);

原则上,执行一次INSERT语句会插入一行数据,若需要插入多行数据,通常需要循环执行所需行数次的INSERT语句。

②省略INSERT语句中的列名,就会自动设定为该列的默认值(没有默认值则为NULL).

③复制数据时可用INSERT…SELECT语句,原有数据不变,可做数据备份。

④INSERT语句的SELECT语句,可以使用WHERE子句或者GROUP BY子句等任何SQL语法,但使用ORDER BY子句不会产生任何效果。

 

注意事项:

①当向表中插入字符串值(以及一些数据值时)。必须使用单引号,否则MySQL认为它们是字段名;

在一个单独的Insert语句中使用多个VALUES()子句可以插入多条记录,也可以不使用INSERT……VALUES格式,而是使用类似的UPDATE语句,它使用SET语句分别为每一列设置值。

将超出列范围的值设置给一个数字列,值被剪切为范围内适当的端点值。

④将数字列设成例如'10.34 a'的值,拖尾的垃圾被剥去并仍然是数字部分被插入。如果值根本不是一个数字,列被设置到0。

⑤把一个字符串插入到超过列的最大长度的一个CHAR、VARCHAR、TEXT或BLOB列中。值被截断为列的最大长度。

⑥如果VALUES中什么都不写,那MySQL将使用表中每一列的默认值来插入新记录。

⑦果表名后什么都不写,就表示向表中所有的字段赋值。使用这种方式,不仅在VALUES中的值要和列数一致,而且顺序不能颠倒。 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值