2022年7月1日

MySQL: 常用SQL语句

目录: 1.数据库的相关操作 1.1 连接数据库 1.2 创建数据库 1.3 查看数据库有哪些 1.4 查看指定的数据库 1.5 删除指定的数据库 1.6 使用数据库(很重要) 1.7 用户的创建和删除 1.8 授权 1.9 收权 1.10 视图的创建与删除 1.11 断开服务器的连接 2.表的相关操作 2.1 创建表 2.2 查看表的结构 2.3 查看表的详细信息 2.4 查看某个数据库中有哪些表 2.5 删除指定的表 2.6 字段名的数据类型 2.7 添加主键约束 2.8 添加外键约束 2.9 添加常用约束 3.数据库和表的基本操作 3.1 修改表名 3.2 修改字段名和字段的数据类型 3.3 添加和删除字段 3.4 修改字段的排列位置 3.5 删除表的外键约束 3.6 插入数据(INSERT INTO , VALUES) 3.7 查看数据是否成功插入表中 3.8 更新数据(UPDATE , SET) 3.9 删除数据(DELETE , T…
2022年7月1日

MySQL: 发音

关于 MySQL 到底怎么读,其实在母语是英语的开发者中也是颇有争议的。 有人读 SQL [ˈɛs kjuː ˈɛl],有人读 sequel [ˈsiːkwəl],在 StackExchange 上似乎有一种约定俗成的潜规则,MS的开发者更喜欢读「sequel」,Linux 的开发者喜欢读「SQL」,那么到底怎么读?咱们追根溯源,先了解一下 SQL 的历史。 一. SQL 的历史 - 因商标版权问题被迫改名 SQL 有一段关于 SQL 的有趣历史小故事。SQL 最初是 IBM 在上世纪 70 年代发明的,最初叫 SEQUEL [ˈsiːkwəl] 是「结构化英语查询语言」的简写。 但是后来 IBM 把它改为 SQL [ˈɛs kjuː ˈɛl],因为 SEQUEL 早就已经被一家航空公司注册成商标了,知识产权撞车,被迫改名 SQL 。 二. MySQL 官方发音 在 MySQL 的官方文档里也有一段,写了…
2022年7月1日

Ubuntu MySQL 安装与配置

1. 安装MySQL 在Ubuntu中,可以使用下述命令直接安装默认版本的mysql。 $ sudo apt-get update #更新软件源 $ sudo apt-get install mysql-server #安装mysql Ubuntu20.04中执行上述操作默认安装的mysql是8.0.21版本的,若想要安装特定版本的mysql,可以采用下述三种方式安装: 1、直接下载二进制压缩包进行安装,解压并设置相关的参数就可以运行。· 2、下载你想要安装的版本的源,然后通过apt install mysql-server=5.7.31-1ubuntu18.04的方式进行安装。· 3、下载特定版本的deb文件,然后通过dpkg -i的方式安装。 2. 确认安装是否成功 输入mysql --version可查询当前使用的mysql的版本; 输入mysql -V也…
2022年6月18日

MySQL: MySQL concat函数 连接/合并字段 字段前/后增加字符串

MySQL中concat函数 使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。 一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col) MySQL的concat函数可以连接一个或者多个字符串,如 mysql> select concat('10'); +--------------+ | concat('10') | +--------------+ | 10 | +--------------+ 1 row in se…
2022年1月31日

MySQL: Variable ‘time_zone’ can’t be set to the value of ‘NULL’ 解决方法

MySQL恢复数据库时出现如下错误: ERROR 1231 (42000): Variable ‘time_zone’ can’t be set to the value of ‘NULL’ ERROR 1231 (42000): Variable ‘sql_mode’ can’t be set to the value of ‘NULL’ ERROR 1231 (42000): Variable ‘foreign_key_checks’ can’t be set to the value of ‘NULL’ ERROR 1231 (42000): Variable ‘unique_checks’ can’t be set to the value of ‘NULL’ ERROR 1231 (42000): Variable ‘character_set_client’ can’t be set to the value of ‘NULL…
2022年1月31日

MySQL: Variable 'character_set_client' can't be set to the value of 'NULL' 解决

开发项目时遇到一个问题,并没有使用存储过程来批量执行SQL语句。而是在Java业务处理过程中将.sql文件中的批量SQL语句分条读取,读取后一条一条执行。原先的.sql文件是使用SQL Manager导出的,需要在项目部署的时候将导出的.sql文件重新部署到新的客户端电脑上,所以需要进行批量执行SQL语句的操作。好进入正题: 在批量执行的过程中遇到Variable ‘character_set_client’ can’t be set to the value of Null的SQL。经过长时间排查,排除了数据库数据集的设置问题,排除了SQL语句的格式问题。最后发现是使用SQL Manager导出的.sql文件中有SQL语句的注释,原来是这些注释文件造成以上的报错。所以在执行类似的操作时,以后要记得删除注释语句后再执行批量SQL语句操…