• 第八章 用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啦!

           注意:

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

           

       

          

          

  • 相关阅读:
    30天敏捷结果(26): 如何解决问题
    30天敏捷结果(30):提升敏捷结果
    30天敏捷结果(27):做些有重要意义的事
    STM32笔记A
    嵌入式linux驱动开发入门总结
    2014年个人计划
    迄今为止见过最好的职业规划
    30天敏捷结果(28):撰写你的个人使命
    C语言深度解剖读书笔记
    基于 SQLite 数据库的 C# 实体模型的实现
  • 原文地址:https://www.cnblogs.com/unique1/p/12693836.html
Copyright © 2020-2023  润新知