重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
MySQL查询表字段使我们经常会遇到的问题,下文对MySQL查询表字段的方法作了详细的说明介绍,希望对您能够有所帮助。
创新互联主营嘉荫网站建设的网络公司,主营网站建设方案,成都App制作,嘉荫h5微信平台小程序开发搭建,嘉荫网站营销推广欢迎嘉荫等地区企业咨询
mysql中怎么查询表中的字段个数?
方法一,在你的程序中直接
desc tablename
然后总行数就是你的字段数。
SQL code
mysql desc ysks;
+-------+---------------+-----
| Field | Type | Null
+-------+---------------+-----
| 单号 | int(11) | YES
| 金额 | decimal(10,2) | YES
| 已收 | decimal(10,2) | YES
| 日期 | bigint(20) | YES
| 名称 | varchar(10) | YES
| 余额 | decimal(10,2) | YES
| 备注 | varchar(10) | YES
| 品名 | varchar(10) | YES
+-------+---------------+-----
8 rows in set (0.06 sec)
mysql select FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
+--------------+
| 8 |
+--------------+
1 row in set (0.06 sec)
mysql
方法二,通过系统表information_schema.`COLUMNS` ( mysql5以上版本支持)
SQL code
mysql select count(*) from information_schema.`COLUMNS`
- where TABLE_SCHEMA='csdn'
- and TABLE_NAME='ysks';
+----------+
| count(*) |
+----------+
| 8 |
+----------+
1 row in set (0.06 sec)
mysql
方法一:
可以用%来实现
SELECT * FROM users WHERE emails like "%b@email.com%";
但是这样子的话就会把bb@email.com也查出来了就不符合需求了
方法二:
利用mysql 字符串函数 find_in_set();
SELECT * FROM users WHERE find_in_set('aa@email.com', emails);
这样子就可以找到email字段里包含有aa@emial.com的所有用户了
要注意的是:mysql字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。
1、mysql中创建测试表,create table test_user(id int, name varchar(20));
2、插入测试数据,
insert into test_user values(1001,'jack');
insert into test_user values(1002,'lucy');
insert into test_user values(1003,'mike');
insert into test_user values(1004,'john');
insert into test_user values(1005,'may');
3、查看表中所有数据,select * from test_user
4、编写sql,查询name列是否有jack名,
select * from test_user t where name = 'jack'
查询命令 show columns from 表名
红色框里的“6”代表的是行数
1、排序C列的名字,使得相同的名字集中到一起(假设从C1开始都是人名,一直到C100),然后
2、在D1中输入数字:1
3、在D2中输入:=if(C1=C2,D1+1,1)
注:即判断是否重名,如果重名就+1,不重名就是新的名字,则重新记1
4、选中D2并双击单元格右下角的小黑点填充D列,得到一个初步的同名统计
5、在E100中输入:=D100
6、在E99中输入:=if(D100=1,D99,”“)
注:E列中只保留每个名字重复的次数
7、在Sheet2中的C1中输入:=if(sheet1!E1=0,"",sheet1!C1)
注:只有sheet1中记录了名字重复次数的行中的名字被填入Sheet2中
8、在Sheet2中的D1中输入:=if(C1=0,"",Sheet1!E1)
9、选择Sheet2中的C1、D1列,然后向下填充至100行
10、得出了要的结果,但是中间会有很多空行,如果要消除空行,那么,请复制C1:D100的区域,然后粘贴到E1:F100中并选择”值和数字格式“,然后将E列排序一下即可。
select * from (
select
tablename_tmp.*,
@rownum:=@rownum+1 rownum,
if(@pstatus=status ,@rank:=0,@rank:=1) as rank,
@pstatus := tablename_tmp.status
from (
select * from tablename1
)
tablename_tmp ,
(select @rownum :=0 , @pstatus := null ,@rank:=0) a
) a
where a.rank=1 or a.status=0
order by a.rownum