下面是一个MySQL数据库表的SQL查询示例,该表包含一个32长度的varchar字符串作为UUID。如您所见,WHERE子句不包含完整字符串,但MySQL返回结果。
从uuid=9的表中选择*
id uuid name
1 9c8f8632cbbac5b0708a9920f6fac755 John Smith
这是一个预期的行为和MySQL转换字段的类型和搜索条件吗?
我在MySQL上发现了一些令我吃惊的东西。我创建了一个表并按如下方式将记录插入其中,
CREATE TABLE `test` (
`ID` int,
`NAME` varchar(100)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO test VALUES (1,'a'),(2,'b'),(3,'c');
现在,我对此运行两个SELECT查询,如下所示,
select * from test where id;
select * from test where name;
我不知道如何在单次查询中搜索mysql数据库中的所有特殊字符。
就像。搜索mysql并返回其列包含任何特殊字符的行,如“、”%*{等(意思是指某些字段除0-9、A、A以外的字符)。
我想要的示例查询类型
SELECT * FROM mytable where column = 'PATTERN TO DETECT ALL SPECIAL CHARACTERS';
如果我想排除像&()这样的一些特殊的电抗器,也请帮助进行另一个查询。-不被搜查
我有一个mysql表,其中有一列包含电话号码--有些并不是真正的电话号码,我想通过执行一个查询来找出它,该查询类似于"set all phone number to NULL where the phone number of the phone number of 0-9 and '+'“
到目前为止,我想出了以下方法,但不知道如何为‘+’添加容差:
$query="UPDATE table SET phone='NULL' WHERE phone REGEXP ('[0-9]')!=1";
mysql_query($q
日期存储在我的MySql db字段中,如下所示:20160816 /* YearMonthDay*/
如何按月搜索条目?
尝试使用以下regex sql查询来搜索包含月(08)的条目,但没有成功:
SELECT FROM posts WHERE posts.meta_key = 'start_date' AND (CAST(posts.meta_value AS CHAR) REGEXP '\\d{4}08\\d{2}')
我在mysql中有以下查询:
foreach($keywords as $keywordKey => $keyword){
$query = $query . " AND (id='".$keyword."' OR name LIKE '%".$keyword."%' OR email LIKE '%".$keyword."%' OR phone LIKE '%".$keyword."%')";
}
$query = $query .
我试图弄清楚为什么我的查询不起作用,但它对我来说毫无意义。我正在通过php访问一个数据库,其中列出了各州及其附属城市/城镇,并且我有一个javascript脚本,可以将它们显示为菜单。每个州都有一个ID,递增100,000 (在数据库中,"Alabama“是100,000,"Alaska”是200,000)。所以我在MySQL中测试了我的查询,它工作正常,我测试了发送到php脚本的javascript值,它是正确的,但返回的菜单包含的值比它应该包含的值多得多。
我的查询如下所示:
mysql_query("SELECT * FROM fullstates WHERE c
我的sql表hotel包含一个列price,该列的值类似于RS.50/-、AED 55等。我如何从其中获取为.50或55的整数。
我的mysql查询是:
select hotel_price from hotel where hotel_price<=5000
但这里的酒店价格就像rs.5000/-或AED 5000等
如何在MYSQL中组合IN操作和LIKE操作?
在我的例子中,我希望找到包含特定子字符串的重复记录。例如,我有P123和123。我正在删除P以找到重复记录123。然后,我想找到包含 123的所有记录。
我有下面的MySQL查询,但我不知道如何添加通配符搜索。
SELECT *
FROM table
WHERE field IN
(
SELECT * FROM
(
SELECT REPLACE(REPLACE(`field`,'T',''),'P','&
我正在从perl插入到mysql数据库中。在第一次插入后,我得到了一个重复的错误。下面是我用于插入的代码。我正在从json响应中提取一个id。我在下面的代码中输出了我正在接收的内容
foreach my $listing(@{$json_text->{listings}})
{
my $id = $listing->{id};
print "\nid = $id \n";
# DO THE INSERT
my $query_insert = "INSERT INTO calendar (id) VALUES
我在mysql数据库表中有一个名为rating的列,其中包含来自1+,2+,................9+,10+,12+的多个值。当我使用查询对此列进行排序时
select * from tbl_app order by rating desc
我将9+作为最高值,谁能告诉我如何将12+作为最高值
我有一个日期字段(tinytext),其中包含"dd-mm-yy“格式的日期信息,例如07-01-90。使用mysql查询,我想将其更改为yyyy-mm-dd日期格式。我尝试了下面的代码,但什么也没有发生。
mysql_query("UPDATE Table SET date=STR_TO_DATE('date','%Y,%m,%d')");
我遇到了一个奇怪的问题,mysql不喜欢我的表名。
mysql> DROP TABLE IF EXISTS 6e0OU1QgkU7Pj6ycQF0U_results;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '6e0OU1QgkU7Pj6ycQF0U_results' at line 1
mysql>
我完成了从5.1到5.6的迁移,并且(使用与前面相同的查询) mysql立即抱怨:
一般错误:禁用1651查询缓存;使用query_cache_type=1重新启动服务器以启用它
我不希望启用查询缓存(这是一个包含大量写操作的应用程序),我的文件my.ini如下所示:
# The MySQL server
[mysqld]
# ... other parameters...
query_cache_type = 0
query_cache_size = 0
另外,在connect上,我的php连接包装程序总是执行。
SET SESSION query_cache_type = OFF
我不明
我知道比较数字和VARCHAR字段是愚蠢的想法,我不应该比较它,但是我只想了解原因。
我的表中有以下模式。
Table: user
--------------------
number varchar(24)
我用MyISAM作为存储引擎。
number字段包含混合数据,即数字(如'9999999')和字符串(如'signup')。
我正在尝试运行以下查询。
SELECT * FROM user where number=0
但是它返回所有行,其中number字段包含像'signup‘这样的字符串值或数字字段中的空值。
如果我运行以下查询..。
SEL