SQL

MySQL 数据库

得到 MySQL 数据库的安装目录:select  @@basedir;

查看数据库的编码:show variables like ‘character_set%’;

mysql 现在已提供什么存储引擎:show engines;

mysql 当前默认的存储引擎:show variables like '%storage_engine%';

模糊查询

参考: https://www.php.cn/sql/442166.html

一般的模糊语句语法:

SELECT 字段 FROM 表 WHERE 某字段 Like 条件

其中关于条件,SQL 提供了四种匹配模式:

1、%:表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示

2、_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:

3、[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

4、[ ^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

外键无用问题

问题描述:创建语句没问题,但是外键没有用

使用语句查询,发现没有红色字体的出现,外键添加失败

show create table emp;

CREATE TABLE `emp` ( ↩   `empno` int(11) NOT NULL, ↩   `ename` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, ↩   `esex` varchar(1) COLLATE utf8_unicode_ci DEFAULT '男', ↩   `deptno` int(11) NOT NULL, ↩   `sal` int(11) DEFAULT NULL, ↩   PRIMARY KEY (`empno`), ↩   UNIQUE KEY `ename` (`ename`), ↩   KEY `FK_ID1` (`deptno`), ↩  

CONSTRAINT `FK_ID1` FOREIGN KEY (`deptno`) REFERENCES `dept` (`deptno`) ↩ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

原因:数据库引擎问题

使用一下语句,将数据库引擎更改为InnoDB(必须是这个)

ALTER TABLE dept ENGINE=InnoDB;
ALTER TABLE emp ENGINE=InnoDB;