重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先,题干中的 *.* 表示的意思是 任意数据库 下的 任意数据表,即所有数据库都有效的意思。
创新互联建站主要从事网站制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务永昌,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
在MySQL中*和.都有特殊的含义
* 代表通配符,表示匹配任意或者所有的意思,如:
select * from table# 这里的*表示匹配所有字段,是字段列表的代指
grant select on *.*# 这里的*有两个,第一个*代表所有数据库,第二个*代表所有数据表,如果是Test.test表示Test数据库下的test数据表
. 代表连接符,表示后者属于前者的关系,如:
select a.*,b.id from tableA as a left join tableB as b on a.bid = b.id# 这里a是tableA的别名,b是tableB的别名,a.*表示a表下的所有字段,b.id表示b表下的id字段
grant select on *.*# 这里的.也类似,表示指定数据库下的指定数据表
想要了解更多关于MySQL的知识,可以去6天玩转MySQL看看
本节主要介绍在“like”操作符的搭配下,通配符的使用, 常用的通配符有"% " 、"_"、"[ ]"、"[^ ]"、"[! ]"等
本节使用的表依然是上一次使用的表,表名: customer ,表有列: cus_id,cus_no,cus_name,cus_age,cus_adds。
通配符"%"解析:
1) "***%" 表示匹配任意字符开头的数据,如cus_name like '张%' 代表匹配姓名以“张”开头的所有客户信息; eg:select * from customer where cus_name like '张%';
2) "%***" 表示匹配任意字符结尾的数据,如cus_age like "%8" 代表匹配年龄以“8”结尾的所有客户信息; eg:select * from customer where cus_age like '%8';
3) "%***%"表示匹配包含任意字符的数据,如cus_id like "%100%" 代表匹配id包含“100”的所有客户信息; eg:select * from customer where cus_id like '%100%'; 体验
4) "*_" 表示匹配任意一个字符开头的数据,只能以一个字符开头,如cus_name like '_**' ,代表匹配姓名后两个字为“二小”的所有客户信息; eg:select * from customer where cus_name like '_二小';
5) "_*" 表示匹配任意一个字符结尾的数据,只能以一个字符结尾,如cus_age like "%8" 代表匹配年龄以“8”结尾的所有客户信息; eg:select * from customer where cus_age like '_8';
6) "_*_*"表示匹配中间包含任意一个字符的数据,如cus_id like " 1_0_ " 代表匹配id包含“ 1_0_ ”的所有客户信息; eg:select * from customer where cus_id like '1_0_';
7)eg:select * from customer where cus_age like '^[2]'; --表示查询年龄不以2开头的客户信息
8)eg:select * from customer where cus_age like '[2 | 3]'; --表示查询年龄以2或者3开头的客户信息
1.找到my.ini打开修改如下(有则修改,无则添加)
[client]
# 客户端来源数据的默认字符集
default-character-set = utf8mb4
[mysqld]
# 服务端默认字符集
character-set-server=utf8mb4
# 连接层默认字符集
collation-server=utf8mb4_unicode_ci
[mysql]
# 数据库默认字符集
default-character-set = utf8mb4
2.重启数据库:进入cmd 输入net stop mysql57,然后输入net start mysql57
项目表 a inner join 项目表 b on a.项目=b.项目 and a.项目人b.项目人 where a.项目人=@项目人1 and b.项目人=@项目人2 求count