MySQL -SQL语言1-语法标准

关系型数据库的常见组件

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

SQL 语言规范

  • 在数据库系统中,SQL 语句不区分大小写,建议用大写
  • SQL语句可单行或多行书写,默认以 " ; " 结尾
  • 关键词不能跨多行或简写
  • 用空格和TAB 缩进来提高语句的可读性
  • 子句通常位于独立行,便于编辑,提高可读性

数据库对象和命名

  • 数据库的组件(对象):
    • 数据库、表、索引、视图、用户、存储过程、函数、触发器、事件调度器等
  • 命名规则:
    • 必须以字母开头,后续可以包括字母,数字和三个特殊字符(# _ $)
    • 不要使用MySQL的保留字

SQL语句分类

  • DDL: Data Defination Language 数据定义语言
    • CREATE,DROP,ALTER
  • DML: Data Manipulation Language 数据操纵语言
    • INSERT,DELETE,UPDATE
    • 软件开发:CRUD
  • DQL:Data Query Language 数据查询语言
    • SELECT
  • DCL:Data Control Language 数据控制语言
    • GRANT,REVOKE
  • TCL:Transaction Control Language 事务控制语言
    • COMMIT,ROLLBACK,SAVEPOINT

SQL语句构成

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

示例:

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

说明:一组SQL语句由三个子句构成,SELECT,FROM和WHERE是关键字

 字符集和排序

早期MySQL版本默认为latin1,从MySQL8.0开始默认字符集已经为 utf8mb4

查看支持所有字符集:

SHOW CHARACTER SET;
SHOW CHARSET;

查看支持所有排序规则:

SHOW COLLATION;
#注意
utf8_general_ci不区分大小写
utf8_bin 区分大小写

查看当前使用的排序规则

SHOW VARIABLES LIKE 'collation%';

设置服务器默认的字符集

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

设置mysql客户端默认的字符集

vim /etc/my.cnf
#针对mysql客户端
[mysql]
default-character-set=utf8mb4
#针对所有MySQL客户端
[client]
default-character-set=utf8mb4

 

posted @ 2022-05-12 15:14  goodbay说拜拜  阅读(76)  评论(0编辑  收藏  举报