SQL 学习之二

本文详细介绍了SQL中对数据的操作,包括insert、update、delete和select。讲解了如何向表中插入数据,如何更新现有数据,删除数据的条件,以及如何从查询中获取有效结果。此外,还涵盖了事务处理、统计分析、数组排序和分组等核心概念。
摘要由CSDN通过智能技术生成

 操作数据:

            操作概述:insert、update、delete、select。  操作过程中,SQL语言不区分大小写,而数据有大小写之区别。

            向表中插入数据:insert  into table_name values('value1','value20,[null]'……);此时注意单引号的正确应用和字段的顺序对应关系。

                                            insert   into table_name (column1,column2,column3……) values('value1','value2','value3'……);此命令可向特定的列中插入数据。

                                            insert  into table_name  (column1,column2,column3……) select (column1,column2,column3……)from  table_name  [where  conditions];

                                            此命令可以从特定的表格中的特定的列选择插入数据。另外,还需要注意NULL值的插入,null值是不占用内存的。

            更新现有数据:   update   table_name   set  column_name = ' value ' [column2= 'value',] [column3='value', ]

                                                          [ where  condition ]   ;方括弧如果不包含将改变一列的值,否则只是改变一个值。set关键字只用一次,其他的更改用,号隔开。

            删除数据  :delete  from   table_name [where column_name =  'value' ];如果没where子句,将删除一列。删除的数据在有备份的情况下才可能恢复。

            更多的操作见:http://blog.csdn.net/hpli148/article/details/7876630,感谢小海的专栏。

管理数据库事务;

             事务是对数据库执行的一个操作单位。由DML完成,是一句或者多句DML语句。事务控制命令: COMMIT(用于把事务做的修改保存到数据库,把上一个commit或者rollback命令之后的事务保存到数据库,语法是;commmit  [work],此时可能会有挂起现象),ROLLBACK(用于撤销上一个commit或者rollback命令之后的事务,语法:rollback[work]),SAVEPOINT(savepint  point_name,创建唯一的保存点,便于回滚).,ROLLBACK TO SAVEPOINT,release savepoint savepoint_name,set  transaction  read  write /write/read    only ;只与insert,delete,update配合使用。    这是修改操作如何应用到关系数据库的例子。

       

 从查询中获得有效的结果:select  、distinct、from、 where 、order by关键字。

                                                 语句:select  [all / * / column_name1,……]    [ distinct ]    from table_name where [condition 1 |  expresion1 ]

                                                                                                                                                                                                    [or \  and   condition2 | expresion2   ……]

                                                                                                                                                                                        order by   column_name  desc / asc;

统计表里的记录数量:           select    count(*/column_name) from table_name;

从另一个表里选择数据;          select  column_name from table_name.column_name;注意字段别名的应用。

使用操作符对数据进行分类:比较,逻辑(is null/NULL,两个值是不一样的;between’A‘ AND ’B‘;in('A','B','C'……);like ’_abc%‘;exists;unique;all和any,some),求反(not equal,not between,not in,not like ,is  not  null,not exists,not unique),算数(+ -  * /  ,比如:select  a*b  from  table_name  where c < a*b*e+d/c),注意优先级。

汇总查询结果;

              用法:count    [*|distinct all ]   (column_name)      count()统计的是行数,不涉及数据类型。语法:select  count() from table_name;

              用法:sum()函数         语法:select  sum()  from  table_name;

              用法:avg()函数。       语法:select   avg()  from  table_name; 对精度可能会有要求。

              用法:max(),min()函数。  使用是会忽略NULL值。

数组排序和分组(按照逻辑次序将重复的字段进行合并):

              group  by语句,用法:select   column_name  from  table_name  where conditions  group by  column_name/ 整数(1,2,3……);这里用整数来表示字段名。

              group  by 和order  by的区别:

              所有被选中的、非汇总函数的字段必须列在group  by子句里,除非需要使用汇总函数,否则没有必要使用GROUP  BY   子句进行排序。只有group by可用在create  view里面。

              最重要的是,在GROUP BY 后面的字段必须全,就是说查询到的字段必须都写到by后面,不能遗漏,不然会出现语法错误。group by在order  by之前。

              having  语句,用法;select  column1,column2 from table_name 

                                                               where  conditions

                                                               group by column1,column2

                                                               having  conditions                注意having必须在group   by之后,order  by'之前;having 后可接函数等等。 

                                                               order  by  column1,column2。

调整数据的外观:

             ANSI字符函数:串接(在mysql、oracle、SQL  Sever中的写法是不同的)、子串、TRANSLATE、REPLACE、UPPER、LOWER、SUBSTR、INSTR、LTRIM、RTRIM、DECODE、LENGTH 、IFNULL、COALESCE、LPAD、RPAD、ASCII等。

            算数函数:绝对值ABS,舍入ROUND,平方根SQRT,符号SIGH,,幂POWER,上限GEIL,下限FLOOR,指数EXP,SIN,COS,TAN等。语法:function(expression)。

            转换函数。

日期和时间:

            日期和时间的标准SQL标准存储数据类型;DATE (格式:YYYYY-MM-DD), TIME( HH: MI: SS.nn)  , TIMESTAMP(YYYYY-MM-DD   HH:MI:SS.nn)。

            datetime 的元素及其取值范围:year(0001-9999),month(01-12),day(01-31),hour(00-23),minute(00-59),second(00.000-61.999)。

             日期时间:当前日期,时区,时间与日期相加。(不同的数据库,时期函数基本不一样,所以要具体分析)。还有日期转换,日期描述等等。具体参考sql入门经典。

     

 

 

              

       

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值