zoukankan      html  css  js  c++  java
  • SQL语言

    SQL语言

    有国际标准,各个产品各有各的语法特点
    针对关系型数据库的一种操作语言

    关系型数据库的常见组件

    • 数据库:database
    • 表:table,行:row 列:column 表是核心内容
    • 索引:index
    • 视图:view
    • 用户:user
    • 权限:privilege
    • 存储过程:procedure
    • 存储函数:function
    • 触发器:trigger
    • 事件调度器:event scheduler,任务计划

    SQL语言的兴起与语法标准

    20世纪70年代源于IBM,用于DB2
    1981年
    1987年 ISO将SQL作为国际标准

    SQL语言规范

    • 在数据库系统中,SQL语句不区分大小写(建议用大写)
    • SQL语句可单行或多行书写,以“;”结尾
    • 关键词不能跨多行或简写
    • 用空格和缩进来提高语句的可读性
    • 子句通常位于独立行,便于编辑,提高可读性
    • 注释:
      • SQL标准:
      1. -- 注释内容 单行注释,注意有空格 SQL规范的注释
      2. /注释内容/ 多行注释
      3. MySQL注释: # MySQL自身规范

    数据库对象和命名

    • 数据库的组件(对象):
      • 数据库、表、索引、视图、用户、存储过程、函数、触发器、事件调度器等
    • 命名规则:
      • 必须以字母开头,可包括数字和三个特殊字符(# _ $)
      • 不要使用MySQL的保留字 有很多是有含义的关键字
      • 同一database(Schema)下的对象不能同名

    SQL语句分类

    定操查控

    • DDL: Data Defination Language 数据定义语言 创丢
      CREATE,DROP,ALTER
    • DML: Data Manipulation Language 数据操纵语言 增删改
      INSERT,DELETE,UPDATE
    • DQL:Data Query Language 数据查询语言 查询
      SELECT
    • DCL:Data Control Language 数据控制语言
      GRANT,REVOKE,COMMIT,ROLLBACK

    软件开发:CRUD 对应 增删改查

    SQL语句构成

    关健字Keyword组成子句clause,多条clause组成语句
    示例:

    SELECT * #SELECT子句
    FROM products #FROM子句
    WHERE price>400 #WHERE子句
    

    说明:一组SQL语句,由三个子句构成,SELECT,FROM和WHERE是关键字数据库操作
    获取SQL 命令使用帮助:

    mysql> HELP KEYWORD
    

    字符集和排序

    建议上来直接改UTF8
    从MySQL8.0开始默认字符集已经为utf8mb4
    创建库的时候直接指定字符集

    • 查看支持所有字符集:
    SHOW CHARACTER SET;
    
    • 查看支持所有排序规则:
    SHOW COLLATION;
    

    设置服务器默认的字符集

    vim /etc/my.cnf
    [mysqld]
    character-set-server=utf8mb4
    

    管理数据库

    创建数据库

    CREATE DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME'
    CHARACTER SET 'character set name’
    COLLATE 'collate name';
    

    未完待续……

    * * * 胖并快乐着的死肥宅 * * *
  • 相关阅读:
    ssm(spring+springmvc+mybatis)整合之环境配置
    OD机试题
    openpyxl 读取多个excle中的数据并保存到List中
    Python比较2个字典有哪些值不一致
    Python 正则表达式 匹配小数
    开始入驻博客园,审批神速,赞
    VUE入门实例
    VUE使用axios调用后台API接口
    Redis、Memcached和Tair,同为分布式缓存Redis为何更胜一筹?
    Redis可以用作消息队列吗?
  • 原文地址:https://www.cnblogs.com/bpzblog/p/13036749.html
Copyright © 2011-2022 走看看