MySQL温故篇(一)SQL语句基础

一、SQL语句基础

1、SQL语言分类

DDL:数据定义语言
DCL:数据控制语言
DML:数据操作语言
DQL:数据的查询语言

2、数据类型

3、字符类型

char(11) :
定长 的字符串类型,在存储字符串时,最大字符长度11个,立即分配11个字符长度的存储空间,如果存不满,空格填充。
varchar(11):
变长的字符串类型看,最大字符长度11个。在存储字符串时,自动判断字符长度,按需分配存储空间。
enum('bj','tj','sh'):
枚举类型,比较适合于将来此列的值是固定范围内的特点,可以使用enum,可以很大程度的优化我们的索引结构。

4、时间类型

5、二进制类型

二、表属性

1、表属性

存储引擎:
InnoDB(默认的)
字符集和排序规则:
utf8       
utf8mb4

2、列属性

约束(一般建表时添加):
**primary key** :主键约束
设置为主键的列,此列的值必须非空且唯一,主键在一个表中只能有一个,但是可以有多个列一起构成。
**not null**      :非空约束
列值不能为空,也是表设计的规范,尽可能将所有的列设置为非空。可以设置默认值为0
**unique key** :唯一键
列值不能重复
**unsigned** :无符号
针对数字列,非负数。

其他属性:
**key** :索引
可以在某列上建立索引,来优化查询,一般是根据需要后添加
**default**           :默认值
列中,没有录入值时,会自动使用default的值填充
**auto_increment**:自增长
针对数字列,顺序的自动填充数据(默认是从1开始,将来可以设定起始点和偏移量)
**comment ** : 注释

3、字符集

utf8       
utf8mb4

MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。

MySQL在 5.5.3 之后增加了 utf8mb4 字符编码

在MySQL 8.0以后默认连接字符集从latin1改成了utf8mb4,字符序从latin1_swedish_ci改成了utf8mb4_0900_ai_ci

utf8mb4_bin 二进制存储

utf8mb4_general_ci 不区分大小写,区分字母变体

utf8mb4_unicode_ci 不区分大小写,不区分字母变体(也就是搜a的时候 α和a都会返回)

主流的MySQL大版本是5.6、5.7、8.0 但由于数据库存储数据的特性,企业往往升级版本的动力不强,除非新项目可以考虑在8.0上跑。

因此使用utf8mb4基本达成共识,如果考虑兼容性建议日常表设计时默认采用utf8mb4_general_ci,如果确定向前看只用8.0以上版本,可以用默认的utf8mb4_0900_ai_ci。

4、校对规则(排序规则)

   mysql大小写敏感配置相关的两个参数,lower_case_file_system 和 lower_case_table_names

show global variables like '%lower_case%';

+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | ON    |
| lower_case_table_names | 0     |
+------------------------+-------+

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/372895.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PiflowX新增Apache Beam引擎支持

参考资料: Apache Beam 架构原理及应用实践-腾讯云开发者社区-腾讯云 (tencent.com) 在之前的文章中有介绍过,PiflowX是支持spark和flink计算引擎,其架构图如下所示: 在piflow高度抽象的流水线组件的支持下,我们可以…

【C/C++】C/C++编程——整型(二)

在 C 中,整型数据可以分为有符号数(Signed)和无符号数(Unsigned),这两种类型主要用于表示整数值,但它们在表示范围和用途方面有所不同。默认情况下,整数类型如 int、short、long 都是…

爱上JUC: 面试常考题大总结(线程安全篇)

🌟一起备战面试吧😄,也是巩固💪,不再害怕面试👊 文章目录 进程和线程区别并行和并发的区别创建线程的方式有哪些runnable和callable有什么区别run和start区别线程包含哪些状态,是如何转换的&…

【TCP/IP】用户访问一个购物网站时TCP/IP五层参考模型中每一层的功能

当用户访问一个购物网站时,网络上的每一层都会涉及不同的协议,具体网络模型如下图所示。 以下是每个网络层及其相关的协议示例: 物理层:负责将比特流传输到物理媒介上,例如电缆或无线信号。所以在物理层,可…

DockerUI如何部署结合内网穿透实现公网环境管理本地docker容器

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

基于协同算法的图书信息管理系统(编号V73)

Java精品项目源码基于协同算法的图书信息管理系统(编号V73) 大家好,小辰今天给大家介绍一个图书信息管理系统,演示视频公众号(小辰哥的Java)对号查询观看即可 文章目录 Java精品项目源码基于协同算法的图书信息管理系统(编号V73…

Pandas.Series.cumsum() 累积和 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本: 本文基于 pandas2.2.0 编写。 关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。 传送门: Pandas API参考目录 传送门: Pandas 版本更新及新特性 传送门&…

医学答案怎么查找?3个受欢迎的搜题分享了 #其他#职场发展#职场发展

学习工具是我们的得力助手,帮助我们更好地组织学习内容和时间。 1.南北题库 这是一个网站 完全免费,主要的特点就是题库全面丰富,涵盖计算机、外语、论文撰写、注册会计师等。并且后续还会继续扩展题库,题目分类非常详细,体界面清晰简洁。 有举一反三功能,搜一道…

使用PHPStudy搭建本地web网站并实现任意浏览器公网访问

文章目录 [toc]使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2…

正点原子--STM32定时器学习笔记(1)

这部分是笔者对基本定时器的理论知识进行学习与总结!,主要记录自己在学习过程中遇到的重难点,其他一些基础点就一笔带过了! 1. 定时器概述 1.1 软件定时原理 使用纯软件(CPU死等)的方式实现定时&#xf…

【SpringBoot】SpringBoot的web开发

📝个人主页:五敷有你 🔥系列专栏:SpringBoot ⛺️稳重求进,晒太阳 Wbe开发 使用Springboot 1)、创建SpringBoot应用,选中我们需要的模块; 2)、SpringBoot已经默…

机器视觉系统设计:视觉系统中的成像基准

开发视觉系统的一个重要活动是验证其部署是否符合工程规范。一个成功的视觉应用程序的两个特点是它无需工程师干涉情况下正常工作了多长时间,以及它的维护和复制部署是多么简易。实现所有如上所述目标的一个关键步骤是确定视觉系统的基准。 在这里使用的上下文中&a…

Unknown column ‘project_name‘ in field list。表示数据库中没找到你要查得或者插入的‘project_name’字段。

Unknown column project_name in field list。表示数据库中没找到你要查得或者插入的‘project_name’字段。

ftrace工具学习笔记

ftrace是一个功能强大的Linux内核跟踪工具,可用于分析内核的行为和性能问题。它可以用来收集各种内核跟踪数据,如函数调用、内存分配、中断处理等。以下是ftrace的一些主要特点和用法: ftrace是内核自带的跟踪工具,因此无需安装。…

服务器和云服务器哪个更安全?

随着云计算技术的不断发展,越来越多的企业开始选择使用云服务器来存储和处理数据。然而,对于一些企业来说,他们可能更倾向于使用传统的服务器。在这种情况下,安全性成为了一个重要的考虑因素。那么,服务器和云服务器哪…

代码随想录算法训练营第22天 | 235. 二叉搜索树的最近公共祖先 , 701.二叉搜索树中的插入操作 , 450.删除二叉搜索树中的节点

二叉树理论基础: https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE 235. 二叉搜索树的最近公共祖先 题目链接:https://leetcode.cn/problems/lowes…

vue3-内置组件-Transition

基于状态变化的过渡和动画(常用) 建议多看几遍~~。然后动手去写写,学编程只有多动手才能有感觉。 内置组件: 它在任意别的组件中都可以被使用,无需注册。 Vue 提供了两个内置组件,可以帮助你制作基于状态变化的过渡和动…

AMH面板如何安装与公网远程访问本地面板界面

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Mac版Idea实用快捷键+使用技巧

快捷键 全局查找 shift command f 查找类(class) command o 查找classfilesymbolaction 点击两次shift 复制当前行 command d 自动代码提示 option enter 代码格式化 option command l 生成代码(构造函数、Getter/Setter方法、equals方法、hashCode方法、…

VLM 系列——Llava1.6——论文解读

一、概述 1、是什么 Llava1.6 是llava1.5 的升级暂时还没有论文等,是一个多模态视觉-文本大语言模型,可以完成:图像描述、视觉问答、根据图片写代码(HTML、JS、CSS),潜在可以完成单个目标的视觉定位、名画…