首页 > 数据库 >SQL语句基础一

SQL语句基础一

时间:2022-09-08 00:24:08浏览次数:75  
标签:语句 mysql 基础 SQL 字符集 MySQL 排序

相关概念
  • 数据库:database,可以理解为一个文件夹,里面存放各种资源。

  • 表:table,行:row 列:column

  • 索引:index

  • 视图:view

  • 存储过程:procedure

  • 存储函数:function

  • 触发器:trigger

  • 事件调度器:event scheduler,任务计划

  • 用户:user

  • 权限:privilege

SQL语法规范:
  • SQL指令不区分大小写(一般建议大写),例如:select、insert等

  • SQL语句默认以分号(;)结尾

  • 关键词不能跨行书写,例如:不能把select这个指定分为两行来写

数据库命令规则
  • 以字母开头,后续可以包括字母,数字和三个特殊字符(# _ $)

  • 不能使用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 * from products where price > 666

SELECT *                 #SELECT子句

FROM products             #FROM子句

WHERE price>666         #WHERE子句
MySQL的字符集和排序规则

早期的数据库使用拉丁文字作为默认的字符集。存入其他文字就会出现乱码(从MySQL8.0开始默认字符集已经为 utf8mb4)

  • 字符集:规定了文字的编码和解码的方式。

  • 排序规则:数据涉及到排序需要按照什么样的规则来进行排序(每一个字符集都有默认的排序规则)

查看当前MySQL支持的字符集:

mysql> show character set; #或者 show charset;
更改MySQL默认使用的字符集:通过配置文件修改
  • 修改服务端使用的默认字符集:
vim /etc/my.cnf
[mysqld] #mysqld语句块中改的就是服务端的字符集
character-set-server=utf8mb4 #MySQL配置文件中,认为下划线和横线是相同的

查看系统使用的默认字符集:

mysql> show variables like 'char%';
  • 修改客户端默认使用的字符集:
#针对mysql客户端
[mysql] #mysql语句块就是针对客户端配置的
default-character-set=utf8mb4

#针对所有MySQL客户端
[client]
default-character-set=utf8mb4

注意:

  • 服务端和客户端使用的字符集要保持一致。
查看MySQL的排序规则:

列出当前正在使用的排序规则: SHOW VARIABLES LIKE 'collation%'

mysql> SHOW VARIABLES LIKE 'collation%';
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)

#utf8_general_ci不区分大小写 --- ci结尾的就不区分大小写
#utf8_bin 区分大小写 --- bin结尾的就区分大小写

查看支持所有排序规则:SHOW COLLATION

标签:语句,mysql,基础,SQL,字符集,MySQL,排序
From: https://www.cnblogs.com/heyongshen/p/16667799.html

相关文章

  • 【PHP】5版本 过程式操作MySQL
     建立连接和释放连接:#连接参数$sever='localhost:3309';$username='root';$password='root';#调用连接方法,如果失败结束并打印错误信息$connection=my......
  • MySQL的基础
    MySQL的基础函数字符串函数数值函数日期函数流程函数字符串函数函数功能CONCAT(S1,S2...Sn)将字符串拼接起来LOWER(str)将字符串str转换成小写U......
  • 学习笔记-涛讲F#(基础 II)
    目录处理一堆数组织代码(命名空间、模块)使用联合重命名类型类必须显式转换成接口对象表达式递归函数CPS解决堆栈溢出扩展一个类型静态解析的类型参数ref变量的实现原理及应......
  • Ubuntu实现电商网站+Mysql主从复制+NFS
    Ubuntu实现电商网站+Mysql主从复制+NFS1、环境准备提前准备:Mysql8.0.30安装包、Mysql安装脚本、shopxo2.3.0安装包、DNS脚本服务器IP地址作用系统版本Mysql......
  • SQL Server中Merge子句、CTE、CONCAT、FORMAT函数用法
    Merge子句把源数据合并到目标表点击查看代码CREATETABLEa(keycolINTPRIMARYKEY,col1INTNOTNULL,col2INTNOTNULL,col3INTNOTNULL);CREATE......
  • MySQL第五天
    2022-09-071、Mysql中的清屏:systemclear一般的清屏命令:clear聚合函数2、查询某个表中某个字段的值的个数(使用count)以“students”表(字段有id,name,age,gender,heig......
  • MySQL备份与日志
    MySQL日志管理事务日志innodb_log##事务日志执行逻辑:1.想要修改表,update操作,磁盘内先加载到内存中要执行2.在内存中执行完update3.结果先写入到事务日志,这一条操作确......
  • 巧用SQL语句中的OR查询完成业务新需求-2022新项目
    一、业务场景目前参与开发的项目,之前的一个已上线的版本中有一类查询是根据两张表进行LEFTJOIN查询用来取数据,主表中有一个字段field用来区分不同的数据类型比如说A......
  • mysql数据迁移-换主机,换版本升级
    换主机:--数据量小在线MDP(mysqldump),XBK备份出来,scp到目标主机追加所有备份后的日志申请停机5分钟剩余部分的binlog继续恢复(搭建主从的方式来代替)校验数据进行业务......
  • [安装配置] Linux docker mysql 安装
    一.docker安装MySQLLinux命令:dockerpullmysql:5.7dockerimages查看所有镜像二.创建实例并启动suroot切换到Linuxroot用户dockerrun-p3306:3306--name......