SQL基础语句

SQL基础语句

假设存在一个数据库表 名为Websites

id name url(地址) 国家
1 Google USA
2 淘宝 CN
3 菜鸟教程 CN
4 微博 CN
5 Facebook USA
  • SELECT 选取

    SELECT name,country FROM websites  //从Websities表中选取name和country列
    
    SELECT * FROM Websities//选取所有列
    
  • SELECT DISTINCT 选取不同的

    SELECT DISTINCT country FROM Websites //列中重复的项目将被忽略
    
  • WHERE 过滤 用于选择符合条件的(SELECT的拓展)

    SELECT * FROM Websites WHERE country ='CN';
    

    如果是数值的过滤应该去掉单引号

    运算符 = <> > < >= <= BETWEEN LIKE IN
    描述 等于 不等于 大于 小于 大于等于 小于等于 在某范围 搜索某模式 指定多个可能值
  • AND和OR 基于WHERE的更加多样选择的过滤

    SELECT * FROM Websites
    SHERE country ='CN'
    AND alexa >'50';/OR country = 'USA'
    //AND 两者都需要满足  OR 两者满足一个就可以
    AND (country='CN' OR country='USA');  //拓展的话可以选择用()实现复杂的语句
    
  • ORDER BY 将所选择的对象进行排序

    SELECT * FROM Websites
    ORDER BY alexa DESC; //无DESC为正序 有则相反 比较的对象为数值时按大小排,比较对象为字符时按照首字符字母表排序
    
    SELECT * FROM Websites
    ORDER BY country,alexa;//多个比较 从左到右 先country 再alexa
    
  • INSERT INTO 插入新的一行(一行是"一"一样的横线 = =!)

    //有两种形式
    INSERT INTO Websites (name, url, alexa, country)
    VALUES ('百度','https://www.baidu.com/','4','CN)//第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:同时不提供ID号 默认最后一行下插入
       
    INSERT INTO Websites (name, url, country)
    VALUES ('stackoverflow', 'http://stackoverflow.com/', 'IND');//指定列插入数据 无需列出每一列数据
    
  • UPDATE 更新表中已经存在的记录

    UPDATE Websites 
    SET alexa='5000', country='USA' //更新的数据
    WHERE name='菜鸟教程';目标所在行
    

    !!缺少WHERE就将把所有行进行更新

  • DELETE 删除表中指定行

    DELETE FROM Websites
    WHERE name='Facebook' AND country='USA';//之前对表中的修改都是SELECT开头 删除直接DELETE起步
    同样,没有WHERE的引导将删除所有数据 结构、属性、索引将保持不变:
    
原文地址:https://www.cnblogs.com/tigo/p/14321036.html