美文网首页
深入浅出SQL总结

深入浅出SQL总结

作者: zydsb | 来源:发表于2017-03-25 16:25 被阅读0次

    前言

    数据库(database)是可以说是互联网的基础,不学以后怎么混饭吃?

    SQL语法是不区分大小写的,但是命名的时候最好注意规范,语法规定用_来代替空格

    我是用《深入浅出SQL》这本书来学习的,网上可以查W3School~

    基础语法

    • 语句
    1. CREATE
      creatr database my_db;
      use my_db;
      create table my_info
      (
      my_id int not null auto_increment,
      my_name char(50),
      primary key(my_id)
      )

    2. DROP
      drop table my_name

    3. INSERT
      insert into table my_info(col0,col1...) values('num0','num1'...)

    4. SELECT
      select * from tavle_name where ..

    select 展开讲太多了,最重要的还是灵活运用子查询和各种连接

    1. UPDATE
            update table table_name  
                     set col = 
                         case  
                             when condition0 then reslut0  
                             when condition1 then result1
                          end;  
                     
                ```
      
    2. DELETE
      delete table_name from where conditon
    3. SHOW
      show databases/tables
    4. ALTER
      alter table table_name add col..., rename to ..., change..., modify..., drop ..
      其实就是对表进行修改
    • 关键词

    USE:接下来的操作都在某个db中进行
    DESC:显示db的结构 /在order by中代表逆序
    NULL:不是值,代表未被定义的值
    DEFAULT:缺省值
    LIKE:查找部分文本字符串 , **% **:替换符
    BETWEEN:在...之间(<=&&>=)
    AFTER:把某列放在另一列之后
    RIGHT(),LEFT():选出指定数量的字符
    select right('location',2) from my_table
    ORDER BY(),GROUP BY():按...排序,按...分组
    MIN(),MAX(),AVG(),SUM(),COUNT():其中count()作用是返回指定列中的元素
    DINSTINCT:查询列中出现过的不重复元素
    LIMIT:查询结果的数量 limit m,n #从m开始一共查询n个
    T.x -> T.y:在关系表T中,y列函数依赖x列
    having:对已经排序的结果进行限制,常和group by等关键词组合使用

    • 数据模式
      • 一对一
      • 一对多
      • 多对多
    • ACID:原子性,一致性,隔离性,持久性
    • RDBMS的规范
      1NF:数据具有原子性,有主键
      2NF:任何非关键列完全依赖关键列(不存在部分函数依赖)
      3NF:任何非关键列不以来其他非关键列(不存在传递函数依赖)

    字符一般加引号,列名不加

    相关文章

      网友评论

          本文标题:深入浅出SQL总结

          本文链接:https://www.haomeiwen.com/subject/fcfcnttx.html