美文网首页
sql基础教程

sql基础教程

作者: 美琦miki视觉笔记 | 来源:发表于2020-04-18 17:21 被阅读0次

    语言定义

    DDL(data definition language数据定义语言):
    create创建。drop删除,alter修改
    DML(data manipulation language数据操纵语言)
    select查询 insert插入 update更新 delete删除
    DCL(data control language 数据控制语言)
    commit确认变更,rollback取消变更,grant赋予用户操作权限,revoke取消用户操作权限

    大小写

    关键字不区分大小写,但数据区分大小写Computer COPUTER computer
    表中字符串也区分比如,'ABC'和‘aBC'
    建议规则:
    关键字和表名大小写,其余列名等小写

    建表语句

    CREATE DATABASE xxx;
    
    CREATE TABLE Product
    (product_id CHAR(4) NOT NULL,
    product_name VARCHAR(100) NOT NULL,
    sale_price INTEGER,
    regist_date DATE,
    PRIMARY KEY (product_id)
    );
    

    数据类型:数字/字符/日期

    INTEGER 整数
    CHAR 字符串 char(8)输入'abc' 会补全5个半角空格变成'abc '
    VARCHAR 可变字符串 varchar(8)输入'abc'就是'abc'
    DATE 日期

    约束

    1.NOT NULL
    2.主键约束:为取出唯一特定列

    表的删除和更新

    DROP TABLE Product 删除表,删了无法恢复,要注意

    ALTER TABLE Product ADD COLUMN product_name VARCHAR(100);
    ALTER TABLE Product DROP COLUMN product_name VARCHAR(100);
    
    屏幕快照 2020-04-18 下午5.25.26.png
    屏幕快照 2020-04-18 下午6.45.07.png

    第二章

    1.select xxx as “中文”,别名可以用中文,但是需要用双引号括起来
    2.distinct 会把null也聚合成一条,distinct只能用在第一个列名前面。
    3.注释 -- /* */
    4.所有包含null的计算结果都是null
    选取null不能用 xxx=NULL 要用 is null
    5.AND优先于OR,记得加括号

    第三章

    1.聚合函数会把null排除,count() 是个例外。count() 包含null count(列名)没有null

    聚合函数和group by常见错误

    1.使用group by 时,select子句不能出现聚合键以外的列名。

    mysql中支持,但不建议使用。原因是group by以后会聚合成一列,不在聚合列的比如product name可能不存在一对一的情况。

    屏幕快照 2020-04-18 下午5.10.52.png
    屏幕快照 2020-04-18 下午5.18.37.png

    2.group by 子句写不能写别名(这个在postgresql和mysql是可以的,但不常用),原因是执行顺序是先group by再select

    4.groupby子句其实并不能排序。

    去重的方法

    (1)distinct:想删除选择结果中的重复记录 (2)group by:适用于计算汇总结果

    这部分书上解释的不好,没说多组去重。


    屏幕快照 2020-04-18 下午5.25.26.png

    相关文章

      网友评论

          本文标题:sql基础教程

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