Tag: MySQL

在mysql中的VARCHAR和TEXT之间的差异

当我们用一个VARCHAR列在mysql中创build一个表时,我们必须设置它的长度。 但对于TEXTtypes,我们不必提供长度。 VARCHAR和TEXT什么区别?

如果不存在,则将列添加到mysql表中

我的研究和实验还没有得到答案,所以我希望得到一些帮助。 我正在修改应用程序的安装文件,在以前的版本中没有我现在要添加的列。 我不想手动添加列,而是在安装文件中,只有在表中不存在新列的情况下。 该表格创build如下: CREATE TABLE IF NOT EXISTS `#__comm_subscribers` ( `subscriber_id` int(11) NOT NULL auto_increment, `user_id` int(11) NOT NULL default '0', `subscriber_name` varchar(64) NOT NULL default '', `subscriber_surname` varchar(64) NOT NULL default '', `subscriber_email` varchar(64) NOT NULL default '', `confirmed` tinyint(1) NOT NULL default '0', `subscribe_date` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY […]

MySQL显示当前的连接信息

我在MySQLterminal会话,但我不知道我连接到什么服务器,或我连接到什么数据库。 有没有一个MySQL命令可以告诉我现在使用的主机,端口,用户名和数据库?

在池中closuresJDBC连接

我们使用JDBC的标准代码部分是… Connection conn = getConnection(…); Statement stmt = conn.conn.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rset = stmt.executeQuery (sqlQuery); // do stuff with rset rset.close(); stmt.close(); conn.close(); 问题1:使用连接池时,是否应该closures连接? 如果是这样,是不是汇集失地的目的? 如果不是,那么DataSource如何知道Connection的特定实例什么时候被释放并且可以被重用呢? 我对这个有点困惑,任何赞赏的指针。 问题2:以下方法是否接近标准? 看起来像试图从池中获得连接,如果无法build立数据源,则使用旧式的DriverManager。 我们甚至不知道哪个部分在运行时被执行。 重复上面的问题,是否应该closures从这种方法出来的连接? 谢谢, – MS。 synchronized public Connection getConnection (boolean pooledConnection) throws SQLException { if (pooledConnection) { if (ds == null) { try { Context […]

对所有基于文本的字段使用genericsvarchar(255)是否有缺点?

我有一个contacts表,其中包含postcode , first name , last name , town , country , phone number等字段,所有这些都被定义为VARCHAR(255)即使这些字段没有接近255个字符。 (如果你想知道,这是因为Ruby on Rails迁移默认情况下将String字段映射到VARCHAR(255) ,我从来没有打算覆盖它)。 由于VARCHAR只会存储字段的实际字符数(以及字段长度),所以使用VARCHAR(16)不是VARCHAR(255)有什么明显的优势(性能或其他VARCHAR(255) ? 另外,这些领域大部分都有索引。 字段上的较大VARCHAR大小是否会影响索引的大小或性能? 仅供参考我正在使用MySQL 5。

“create_date”时间戳字段的默认值无效

我有以下的SQL创build语句 mysql> CREATE TABLE IF NOT EXISTS `erp`.`je_menus` ( -> `id` INT(11) NOT NULL AUTO_INCREMENT , -> `name` VARCHAR(100) NOT NULL , -> `description` VARCHAR(255) NOT NULL , -> `live_start_date` DATETIME NULL DEFAULT NULL , -> `live_end_date` DATETIME NULL DEFAULT NULL , -> `notes` VARCHAR(255) NULL , -> `create_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', […]

从其他表中删除ID不匹配的sql行

我试图删除mysql表中的孤立条目。 我有这样的2个表: 表格files : | id | …. ———— | 1 | …. | 2 | …. | 7 | …. | 9 | …. 表格blob : | fileid | …. ———— | 1 | …. | 2 | …. | 3 | …. | 4 | …. | 4 | …. | 4 | […]

sql和GROUP BY和ORDER BY有什么不同?

你什么时候使用一般? 例如,非常鼓励! 我指的是如此MySql,但不能想象在另一个DBMS上的概念是不同的

如何在MySQL中进行批量插入

我有许多logging需要input到表中。 在查询中执行此操作的最佳方法是什么? 我应该做一个循环,每次迭代插入一个logging? 或者,还有更好的方法?

如果任何字段包含NULL,MySQL CONCAT将返回NULL

我有我的表“设备”中的以下数据: affiliate_name affiliate_location model ip os_type os_version cs1 inter Dell 10.125.103.25 Linux Fedora cs2 inter Dell 10.125.103.26 Linux Fedora cs3 inter Dell 10.125.103.27 NULL NULL cs4 inter Dell 10.125.103.28 NULL NULL 我执行下面的查询 SELECT CONCAT(`affiliate_name`,'-',`model`,'-',`ip`,'-',`os_type`,'-',`os_version`) AS device_name FROM devices 它返回下面给出的结果 cs1-Dell-10.125.103.25-Linux-Fedora cs2-Dell-10.125.103.26-Linux-Fedora (NULL) (NULL) 如何走出这个,所以它应该忽略NULL和结果应该是 cs1-Dell-10.125.103.25-Linux-Fedora cs2-Dell-10.125.103.26-Linux-Fedora cs3-Dell-10.125.103.27- cs4-Dell-10.125.103.28-