Fork me on GitHub

SQL常用操作2

关于SQL的常见操作主要就是增删改查

增,就是增加数据。该语句用于向表中插入新纪录。insert into有两种用法。

  • 无需指定要插入数据的列名,只提供被插入的值

语法:insert into table_name values(value1,value2…)
但是这种方法要注意一点,那就是需要列出插入行中的每一列数据,如果某一列没有数据的话,可以使用引号替代,如果没有列出插入行中每一列数据,就会报错。

  • 指定列名及被插入的值

语法:insert into table_name(column1,column2…) values(value1,value2)
通过这种方法也可以向指定的列中添加数据

  • 一次性向表中插入多条数据

语法:insert into table_name values(value1,value2…)(value3,value4…)。可以指定列名,也可以不指定列名,如果指定了列名,则是向指定列添加数据。如果不指定列名,那么则需要列出插入行中的每一列数据。

删,也就是删除数据,这里其实也有两种,delete与drop。然而这两种的效果确实不一样的,虽然都能删除数据。

  • delete。该语句用于删除表中的记录。但是表的结构、属性、索引等仍保持不变,也不会释放内存空间。

语法:delete from table_name where some_column=some_value
ps:truncate table_name 清空表 数据重置
注意:使用delete删除数据时,如果省略了where语句,那么所有数据都会被删除。

  • drop。该语句用于删除表,且内存空间会被释放。

例如表myTable中有多条title相同的数据,要删除相同的,只保留一条,那么操作为:   
select distinct into newTable from myTable;
delete from myTable;
insert myTable select
from newTable;
drop table newTable;

改,也就是更改表中的数据(update),用于更新表中已存在的数据。

  • 语法:update table_name set column1=value1,column2=value2,…where some_column=some_value;注意:使用update更新表中数据时,如果省略了where子句,那么表中所有数据都将被更新。

查,也就是查询表中的数据(select)。

  • 语法:select column_name,column_name frome table_name;或select * from table_name;

  • 选取表中包含某字符的数据

例如,选取表myTable中play包含 ‘古’ 的所有数据,则操作为,select * from [dbo].[myTable] where play like ‘%古%’

  • 选取表中以某字符开始的数据。

例如,选取表myTable中play以 “古” 开头的所有数据,则操作为,select * from [dbo].[myTable] where play like ‘古%’

  • 选取表中以某字符结尾的数据。

例如,选取表myTable中play以 “古” 结尾的所有数据,则操作为,select * from [dbo].[myTable] where play like ‘%古’

  • 选取表中指定长度包含指定字符的数据。

例如,选取表myTable中play包含三位且中间为 “古”的数据,则操作为 select * from [dbo].[myTable] where play like ‘_古_’

  • 选取表myTable中play包含三位且结尾是 “古” 的数据,则操作为 select * from [dbo].[myTable] where play like ‘__古’
    ps:% => 代表0个或多个字符
        _ => 代表1个字符

  • 使用in操作符,该操作符允许在where子句中规定多个值。

例如,要选取表myTable中title为 “扫毒” 或 “贪狼” 的数据,则操作为 select * from [dbo].[myTable] where title in (‘扫毒’, ‘贪狼’)

  • between操作符,选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

例如,要选取表myTable中score 介于 10 到 200 间的数据。则操作为 select * from [dbo].[myTable] where score between 10 and 200

  • 选取要返回指定数目的数据(select top)。

语法:select top number|percent column_name from table_name;

  • 返回表中唯一不同的值(distinct)。

语法:selcet distinct column_name,column_name from table_name

-------------本文结束感谢您的阅读-------------
Donate comment here