-
mysql – 最快的查询,看它是否至少返回一行
所属栏目:[MySql教程] 日期:2021-05-19 热度:130
我只需要知道查询是否返回记录. 我当然可以这样做: SELECT COUNT(*) FROM tbl WHERE conds; 但是这会返回确切的行数(当然),而且我不需要这个开销. 所以我想到了这个问题: SELECT COUNT(*) FROM (SELECT id FROM tbl WHERE conds LIMIT 1) as t1 将内部查[详细]
-
php – 清理整数时使用intval和real_escape_string
所属栏目:[MySql教程] 日期:2021-05-19 热度:169
亲爱的大家. 我在mysql数据库的一些表中使用整数PK.在从PHP脚本输入之前,我正在进行一些清理,包括intval($id)和$mysqli-> real_escape_string(). 查询非常简单 insert into `tblproducts`(`supplier_id`,`description`) values('$supplier_id','$descripti[详细]
-
mysql – 为什么这些查询产生不同的结果?
所属栏目:[MySql教程] 日期:2021-05-19 热度:70
我已经运行了这两个看起来像他们做同样事情的查询,但给出了不同的结果: SELECT COUNT(stage1) AS total FROM progress_status WHERE stage1 = 3 AND stage2 != 3 AND stage3 !=3 AND stage4 !=3 AND stage5 !=3;# total = 90SELECT COUNT(stage1) AS tota[详细]
-
如何将R中的数据框导出到MySQL中的表中
所属栏目:[MySql教程] 日期:2021-05-19 热度:176
我在RODBC中尝试过sqlSave(),但它的运行速度非常慢.有没有其他方法可以做到这一点?最佳答案你可以看一下包RMySQL.我正在使用它,它提供了一些方便的加载和从MySQL数据库读取数据.这就是说你可以使用的查询是有限的(例如HAVING不可能是IIRC).我不能说它超级[详细]
-
mysql – 使用LEFT JOIN提高性能
所属栏目:[MySql教程] 日期:2021-05-19 热度:185
我有一个有5或6个LEFT JOINS的mysql查询.正如预期的那样,这很慢.考虑到我只期望大约100个结果,我可能更有意义的是运行大量单独的SQL查询并手动将它们拼接在一起.我猜这需要很长时间,因为使用多个左连接创建的巨大表.是对的吗? 我在Rails 3中这样做.我知道[详细]
-
php – 我可以通过没有bind_param的PDO Prepared语句完全阻止SQ
所属栏目:[MySql教程] 日期:2021-05-18 热度:123
我是PDO的新手,对不起,如果你觉得我在问愚蠢的问题. 没有Bind_param的普通和简单的PDO Prepared语句: $sql = $db-prepare('SELECT * FROM employees WHERE name = ?');$sql-execute(array($name));$rows = $sql-fetchAll(); 与Bind_param: $sql-bind_par[详细]
-
MySQL在创建表时设置非空约束
所属栏目:[MySql教程] 日期:2021-05-18 热度:97
创建表时可以使用NOT NULL关键字设置非空约束,具体的语法格式如下: 字段名 数据类型 NOT NULL; 例 1创建数据表 tb_dept4,指定部门名称不能为空,SQL 语句和运行结果如下所示。mysql CREATE TABLE tb_dept4- (- id INT(11) PRIMARY KEY,- name VARCHAR(22[详细]
-
MySQL控制约束
所属栏目:[MySql教程] 日期:2021-05-18 热度:148
若将 CHECK 约束子句置于表中某个列的定义之后,则这种约束也称为基于列的 CHECK 约束。 在更新表数据的时候,系统会检查更新后的数据行是否满足 CHECK 约束中的限定条件。MySQL 可以使用简单的表达式来实现 CHECK 约束,也允许使用复杂的表达式作为限定条[详细]
-
MySQL第一无二约束
所属栏目:[MySql教程] 日期:2021-05-18 热度:137
唯一约束与主键约束相似的是它们都可以确保列的唯一性。不同的是,唯一约束在一个表中可有多个,并且设置唯一约束的列允许有空值,但是只能有一个空值。而主键约束在一个表中只能有一个,且不允许有空值。比如,在用户信息表中,为了避免表中用户名重名,可[详细]
-
MySQL创建表时设置默认值约束
所属栏目:[MySql教程] 日期:2021-05-18 热度:88
创建表时可以使用DEFAULT关键字设置默认值约束,具体的语法格式如下: 字段名 数据类型 DEFAULT 默认值; 其中,默认值为该字段设置的默认值,如果是字符类型的,要用单引号括起来。 例 1创建数据表 tb_dept3,指定部门位置默认为 Beijing,SQL 语句和运行结[详细]
-
MySQL在创建表时设置外键约束
所属栏目:[MySql教程] 日期:2021-05-18 热度:74
键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。比如,一个水果摊,只有苹果、桃子、李子、西瓜等 4 种水果,那么,你来到水果摊要买水果就只能选择苹果、桃子、李子和西瓜,其它的水果都是不能购买的。 主表[详细]
-
MySQL AUTO_INCREMENT 指定自增字段初始值
所属栏目:[MySql教程] 日期:2021-05-18 热度:130
通过给字段添加AUTO_INCREMENT属性来实现主键自增长。语法格式如下: 字段名 数据类型AUTO_INCREMENT 默认情况下,AUTO_INCREMENT 的初始值是 1,每新增一条记录,字段值自动加 1。 一个表中只能有一个字段使用 AUTO_INCREMENT 约束,且该字段必须有唯一索[详细]
-
MySQL主键设置单字段主键
所属栏目:[MySql教程] 日期:2021-05-18 热度:152
键分为单字段主键和多字段联合主键,本节将分别讲解这两种主键约束的创建、修改和删除。 使用主键应注意以下几点: 每个表只能定义一个主键。 主键值必须唯一标识表中的每一行,且不能为 NULL,即表中不可能存在有相同主键值的两行数据。这是唯一性原则。[详细]
-
为你推荐MySQL约束概述
所属栏目:[MySql教程] 日期:2021-05-18 热度:185
例如,在数据表中存放年龄的值时,如果存入 200、300 这些无效的值就毫无意义了。因此,使用约束来限定表中的数据范围是很有必要的。 在 MySQL 中,主要支持以下 6 种约束: 1)主键约束主键约束是使用最频繁的约束。在设计数据表时,一般情况下,都会要求[详细]
-
MySQL数据表在末尾添加字段
所属栏目:[MySql教程] 日期:2021-05-18 热度:156
MySQL 允许在开头、中间和结尾处添加字段。在末尾添加字段一个完整的字段包括字段名、数据类型和约束条件。MySQL 添加字段的语法格式如下: ALTER TABLE 表名 ADD 新字段名数据类型[约束条件]; 对语法格式的说明如下: 表名 为数据表的名字; 新字段名 为所[详细]
-
c# – 使用VisualStudio 2005应用程序部署MySQL服务器
所属栏目:[MySql教程] 日期:2021-05-16 热度:61
我有一个使用MySQL作为数据存储引擎的Visual Studio 2005项目(C#),我想创建一个安装应用程序的MSI包,并在安装MySQL后静默.我一直在调查它,但我找不到太多信息. 我已经静默安装了MySQL软件包,并在CMD中配置了这两个语句 安装: msiexec /qb /i "c:mysql.ms[详细]
-
如何在MySQL中获得最大的两列值?
所属栏目:[MySql教程] 日期:2021-05-16 热度:51
我正在尝试做这样的事情: SELECT MAX( ADDDATE(expirationdate,INTERVAL 1 YEAR),ADDDATE(now(),INTERVAL 1 YEAR)) 也就是说,“从现在起一年”,或“从表中存储的有效期起一年”,以较大者为准(我正在更新人们的订阅). 这显然不起作用,因为MAX()用于行之间[详细]
-
php – Zend_Db_Select按随机顺序排列,兼容mssql / mysql
所属栏目:[MySql教程] 日期:2021-05-16 热度:58
好的就是这种情况,我有一个用Zend_Framework编写的应用程序,它兼容MySQL和MSSQL作为后端.现在,ZF非常擅长解决这两种语言之间的许多SQL差异/差异,但我还没有想出这个. 目标是从表中选择1个随机记录,这是一个非常简单的陈述. 这是一个select语句,例如: $sql[详细]
-
php – 使用Eloquent查询耗尽了允许的内存限制
所属栏目:[MySql教程] 日期:2021-05-16 热度:167
我有一个非常非常简单的查询 select * from `users` where (`active` = 1 and `newsletter` = 1) and (`terminated` = 0 or (`terminated` = 1 and `newsletter_terminated` = 1)); 我正在用这样的雄辩来构建它(当我使用toSql()时,上面的查询得到输出 $rec[详细]
-
新鲜的mysql-server安装不会要求输入密码
所属栏目:[MySql教程] 日期:2021-05-16 热度:159
我正在debian上安装包mysql-server(实际上是Raspbian,用于覆盆子pi的Debian版本).我正在使用以下命令安装它 sudo apt-get install mysql-server 在安装过程中,我没有被要求输入root密码.如果我尝试使用以下命令连接到mysql: mysql -u root 要么 mysql -u[详细]
-
如何编写一个mysql查询来读取一个表中的数据并写入另一个表?
所属栏目:[MySql教程] 日期:2021-05-16 热度:152
如果可以,请提供一两个示例查询,以便我了解它是如何工作的.两个表都在同一个数据库中. 谢谢! 最佳答案伪代码: insert into[详细]
-
如何从Perl MySQL DBI句柄获取数据库名称?
所属栏目:[MySql教程] 日期:2021-05-16 热度:99
我使用Perl DBI连接到MySQL数据库.我想找出我连接的数据库. 我不认为我可以使用: $dbh-{Name} 因为我调用 USE new_database 和$dbh-> {Name}只报告我最初连接的数据库. 是否有任何技巧或我需要跟踪数据库名称? 最佳答案尝试执行查询 select DATABASE();[详细]
-
MySQL复制:暂时阻止复制到从属的特定SQL语句?
所属栏目:[MySql教程] 日期:2021-05-16 热度:162
我想连接并执行一个(有时是几个)SQL语句,而不是那些复制到从属语句. 我没有replicate-do或replicate-ignore配置,所以我不能使用一些非复制数据库来发送命令.我知道: set global sql_slave_skip_counter = 1 但那是在奴隶身上.我希望能够在主服务器上运行[详细]
-
反转SQL LIKE’%value%’
所属栏目:[MySql教程] 日期:2021-05-16 热度:156
我有一个包含域名的MySQL表: +----+---------------+| id | domain |+----+---------------+| 1 | amazon.com || 2 | google.com || 3 | microsoft.com || | ... |+----+---------------+ 我希望能够在此表中搜索完整的主机名(即“www.google.com”).如果[详细]
-
php – CSV vs MySQL性能
所属栏目:[MySql教程] 日期:2021-05-16 热度:110
让我们假设PHP5使用MySQL5和CSV文件的环境相同. MySQL与托管脚本位于同一主机上. MySQL是否总是比重新/搜索/更改/添加/删除记录更快? 或者是否有一些数据低于哪些PHP CSV性能优于使用数据库服务器? 最佳答案CSV不允许您为快速搜索创建索引. 如果您始终需[详细]