zoukankan      html  css  js  c++  java
  • 不可小觑的SQL语句

    在前面学的我们通过点鼠标给数据表插数据,虽然这种方法很靠谱,但是有那么的一些缺点,就是比较麻烦和效率不高。
    所以现在我们的好好学SQL语句,来弥补这么的一个漏洞,能提高我们工作的效率。

    SQL语句能做什么?

    数据库需要一套指令集(SQL语言),能够识别指令,执行相应的操作。

    1.SQL中的运算符:

    01:算术运算符:

    +,—,*,/,%

    02.赋值运算符:

    “=”

    03.比较运算符:

    =,>,<,<>,>=,<=,!=

    04.逻辑运算符:

    and,or,not

    一:SQL语句的作用是什么?

    解析:就是“增加、修改和删除数据”

    SQL语句书写规范:

    01,.在SQL Sever中,SQL语句不区分大小写(数据库名,表名,列名,关键字) ,SQL编译器都识别

    02,对表进行操作的时候,一定要使先用use关键字切换到对应的数据库

    03.自增列不可以赋值

    1.增加数据的方法:

    insert into 表名(列名)

    values (数据)

    eg: insert into goodPerson(stuName,stuAge)

           values('晓玲',20)

    注意:

    01. 如果新增全部列,那么表名后可以不跟列名,但是要提供所有列的值,除非当前

      列有默认值,那么也要给出default关键字。

    02.如果只想给一张表中添加部分列,那么在表名后要跟上列名,并且需要保证除了你给出

      的列的值之外,其他列都允许为空或者有默认值。

    2.一次性向一张表中插入多条数据的解决方案:

     01.语法:

    SELECT (列名)

    INTO <表名>

    FROM <源表名>

    eg:

    insert into goodPerson2

    select  StuName, stuAge, stuAddress, stuLike, stuWishes from goodPerson

    delete from goodperson2

    注意事项:如果目标中有自增列,那么不能使用*号。

    02. 语法:

    select *  into 目标表(不存在)

      from 原表

    eg:

     select * into goodpersonbak

    from goodperson

     注意:

      该方式只保留了数据和子自增列,但是主键等约束就都没有了。

    03.语法

    INSERT INTO <表名>(列名)

    SELECT <列名> UNION

    SELECT <列名> UNION

    eg:

    select * from grade

     insert into grade

      select '高一二班'

      union

      select '高一五班'

    3.更新数据的方法:

    语法:

    UPDATE 表名 SET 列名 = 更新值

    [WHERE 更新条件]

    eg:

    UPDATE Students

    SET SAddress ='北京女子职业技术学校家政班'

    WHERE SAddress = '北京女子职业技术学校刺绣班'

    UPDATE Scores

    SET Scores = Scores + 5

    WHERE Scores <= 95

    注意:更新多列数据使用逗号隔开

    勿忘条件限制,以防有效数据的丢失

    4.删除数据:

    01:使用DELETE删除数据行

    语法:

    DELETE [FROM]  表名 [WHERE <删除条件>]

    eg:

    DELETE FROM Students

    WHERE SName ='张青裁'

    02.使用TRUNCATE删除数据行

    语法:

    TRUNCATE  TABLE  表名

    eg:

    TRUNCATE TABLE Students

    注意:

    表结构、列、约束等不被

    改动

    不能用于有外键约束引用的表

    标识列重新开始编号

    经验:

    实际工作中应用尽量少用TRUNCATE TABLE,因为它删除的数据不能恢复

    5.delete和truncate区别?

     解析:01.delete 后可以跟where条件,而truncate不行

             02.delete删除数据的时候会记录日志,而truncate不会

             03.delete删除表中所有数据库,id编号不会从1开始,而truncate会。

    专业人士解析:因为truncate又称为“截断表”。编号从1开始。

    6.数据查询的方法:

    行数据表中数据的查询,那么必须先定位到该表所在的数据库

    eg:

    use Myschool  --切换数据库

    select StuId, StuName, StuAge, GradeId from Student

    --我只想要年龄小于岁的学员信息

    select * from Student  where StuAge<=22 

    7.几个注意点

     01.见到update语句,一定要跟where条件,这是命令。

     02.在SQL Server中null代表不知道,所以如果where后的限定条件不能用=和null做对比,必须使用is null

    8.导入数据:

    注意:

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

    *数据的导入导出功能可以跟文本文件、Excel文件交换数据

                                                                             我非常高兴大家细心阅读之后,能得到收获。大家可以勇敢,积极的补充知识。

  • 相关阅读:
    [LeetCode] Rotate Image
    [置顶] (奇迹冬瓜)坦克大战[MFC框架]
    spinner自定义,效果如腾讯QQ账号选择时候的下拉列表
    sqlmap dvwa SQL Injection使用小记
    Activex打包于发布完整版---微软证书制作
    假设web应用的文档根目录为MyApp,那么可以从哪里找到database.jar文件。
    无状态会话Bean、有状态会话Bean、CMP与BMP中,哪一种Bean不需要自己书写连接数据库的代码?
    EJB的优点有哪些?(选择2项)
    对触发器的认识;
    消耗资源的SQL的定位方法;
  • 原文地址:https://www.cnblogs.com/weiguangyi/p/4926572.html
Copyright © 2011-2022 走看看