zoukankan      html  css  js  c++  java
  • 一些sql语句

    1.删除表中重复记录,以前是加DISTINCT参数,导出到临时表,再导回来,无意中发现一条语句也可以。例如,去掉学号字段重复的记录:
    delete from [table] where ID not in (select max(ID) as ID from [table] group by 学号)

    2.和上边类似,列出学号重复的记录数:
    select max(学号),count(学号) from [table] group by 学号 having count(学号)>0
    3.列出数据表的字段
    select name from syscolumns where id=object_id('表名')
    4.收缩数据库(会大大减小数据库和日志):
    dbcc shrinkdatabase(数据库名)

    5.以前匹配如:2006开头的字段,都用left(字段,4)='2006',据说这样效率低,改写成这样:
    select 学号 from [表名] where 入学时间 like '2006%'
    6.table1记录学生密码,table2记录学生信息,根据table2的学号,自动添加没有的学号到table1中
    INSERT INTO [table1]
          (学号, 姓名, 密码)
    SELECT 学号, 姓名, '111111' AS 密码
    FROM [table2]
    WHERE (NOT EXISTS
              (
    SELECT 学号
             
    FROM [table1]
             
    WHERE [table2].学号 = [table1].学号))

    7.接上一个,删除table1中在table2里没有记录的学号
    DELETE FROM [table1] WHERE (NOT EXISTS
    (
    SELECT 学号 FROM [table2]
    WHERE [table1].学号 = [table2].学号))
  • 相关阅读:
    如何判断哪个方法调用了相同的事件?
    Windows Update问题
    Android学习笔记
    关于官方Reachability Demo理解
    poj 1797 Heavy Transportation
    poj 3013 Big Christmas Tree
    poj 1062 昂贵的聘礼
    poj 3615 Cow Hurdles(floyd)
    CF Planets(STL+ 最短路)
    poj 3026 Borg Maze
  • 原文地址:https://www.cnblogs.com/zwei1121/p/715370.html
Copyright © 2011-2022 走看看