第八章 用SQL语句操作数据

1.SQL是什么?

       Structured Query Language:结构化查询语言

       作用:对数据库数据进行增改删查

2.T-SQL:

       Transact-SQL

       T-SQL是SQL的增强版, 对功能进行了扩充:如变量说明、流程控制、功能函数

       如下图:

                  

3.SQL的组成:

      DDL:建立数据库,数据库对象和定义表的列(create table,drop table)

      DCL:存取许可,存取权限(grant,revoke)

      DML:插入,删除,修改数据(insert,update,delete)

      DQL:查询(select)

4.SQL的运算符:

     +,-,*,/,%(加,减,乘,除,余)这就是我们平常所用的

5.赋值运算符:

      =

6.逻辑运算符:

       AND(&&)    OR(||)    NOT(!)

java中等于使用“==”,sql中使用“=”表示

7.比较运算符:

       =,>,<,<>,>=,<=,!=(<>,!=都是不等于)

8.插入一条数据:

     (1) insert   into   表名(列名1,列名2,列名3)values(值1,值2,值3)

      eg:insert   into Subject(SubjectID,SubjectName,ClassHour)values(1,'java',60)

     (2)insert  into Subject  values(值1,值2,值3)

       eg:insert into Subject  values(1,'logic java',40)

9.插入一条数据的注意事项:

      (1)每次插入一行数据,不能只插入半行或者几列数据

              插入的数据是否有效将按照整行的完整性的要求来检索

      (2)每个数据值的数据类型必须与相应的列匹配

      (3)不能为标识列指定值

      (4)如果在设计表的时候指定了某列不允许为空,必须插入数据

      (5)插入的数据项,要求检索约束的要求

      (6)具有缺省值的列,可以使用default关键字代替插入的数值

10增删改:控制台显示受影响的行数

    查询:显示查询出的结果

11.插入多条数据:

     (1)insert   into  表名1(列名1,列名2,列名3)

              select  列名1,列名2,列名3

              from  表2

  eg:insert   into  Xi(Name,sex,id)

         select   Name,sex,id

         from Student

前提:必须两个表中列名数据类型一样

          上面()列名是属于表名1,下面这个属于表2

      (2)select  表名.列名1,表名.列名2,表名.列名3

               into  新表名

              from  表名

       eg: select  Xi.Name,Xi.sex,Xi.id

                into  lx

                from  Xi

       (3)关键字:union

          insert  into  表名(列名1,列名2,列名3)

          select  值1,值2,值3  union 

          select 值1.1,值2.1,值3.1

        eg:insert  into Xi(Name,sex,id)

                select '李','女',1 union

                select '刘','男',2

       (4)用values插入,用逗号隔开

         eg:insert  into Xi

                values('李','男',1),

                           ('刘','男',2)

12.update更新数据:

     update 表名 set  列名=更新值  where 更新条件

     eg:update  Subject  set SubjectName='数学' where  SubjectId=5

注意:

         更新多条数据用逗号隔开

         不要忘记条件约束,以防数据有效的丢失

          多条件联合时可使用   (AND  OR  NOT)

13.删除数据:

      (1)delete  from 表名  where  删除条件

         eg:delete  from  Xi  where Name='李'

     (2)truncate table  表名

       eg: truncate  table  Xi

注意:

        表结构,列,约束等不被改动

        不能用于有外键约束引用的表(主键不能删除)

        标识列重新开始编号

经验:尽量少使用truncate,删除的数据不能恢复

           一般情况都不会去删除,因为数据都是有用的

14.null和""的区别:

      null:不存在的数据

      "":真实存在,但是被隐藏(即不存在)

15.delete和truncate的区别:

      (1) delete可删除表中的行数据,也可以删除整个表的数据,但是表结构还在,删除后数据可以找回,一般与where关联使用

        delete每次删除一行,都将该删除的操作作为事物记录在日志中,以便进行回滚操作

     (2)truncate语句执行后,id标识列重新开始排列顺序,而delete语句执行后,id标识列会接着上次进行增加

             truncate是直接删除表,在重新创建一个表。删除的数据不能找回,执行速度比delete快,而且删除的彻底

16.导入和导出数据库:

       右击数据库   任务  点击导入/导出就ok啦!

       注意:

                导入/导出数据前先根据数据库表中设置的约束、主外键关系等检查导入数据的合法性

       

   

      

      

原文地址:https://www.cnblogs.com/unique1/p/12693836.html