MySQL UPDATE By SELECT

Posted on Friday, April 30, 2010 in MySQL

UPDATE by SELECT example:

UPDATE [table0_name] AS T0, [table1_name] AS T1
SET T0.[field0_name]=T1.[field1_name]
WHERE T0.[field0_id]=T1.[field1_id]

ORDER BY IN Value

Posted on Tuesday, April 20, 2010 in MySQL

Query will order results by newest tasks first with exception that any task 100% complete will be displayed last
SELECT *
FROM tasks
ORDER BY task_percent_complete IN(100) ASC, task_datetime DESC

Alias in WHERE Clause

Posted on Thursday, March 18, 2010 in MySQL

Aliases are not used in WHERE clause, instead they should be used in HAVING clause, like this:
SELECT customer_email, COUNT(customer_email) AS 'duplicate_customer_email'
FROM customers
WHERE customer_email != ''
GROUP BY customer_email
HAVING duplicate_customer_email > 1
ORDER BY duplicate_customer_email DESC

Dynamic Row Count

Posted on Monday, September 7, 2009 in MySQL

set @i = 0;
select @i:=@i+1 as row_count

Populate US States

Posted on Friday, July 10, 2009 in MySQL

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `states`
-- ----------------------------
DROP TABLE IF EXISTS `states`;
CREATE TABLE `states` (
`state_id` int(11) NOT NULL auto_increment,
`title` varchar(20) default NULL,
`abbr` char(2) default NULL,
PRIMARY KEY (`state_id`)
) ENGINE=MyISAM AUTO_INCREMENT=52 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of states
-- ----------------------------
INSERT INTO `states` VALUES ('1', 'ALABAMA', 'AL');
INSERT INTO `states` VALUES ('2', 'ALASKA', 'AK');
INSERT INTO `states` VALUES ('3', 'ARIZONA', 'AZ');
INSERT INTO `states` VALUES ('4', 'ARKANSAS', 'AR');
INSERT INTO `states` VALUES ('5', 'CALIFORNIA', 'CA');
INSERT INTO `states` VALUES ('6', 'COLORADO', 'CO');
INSERT INTO `states` VALUES ('7', 'CONNECTICUT', 'CT');
INSERT INTO `states` VALUES ('8', 'DELAWARE', 'DE');
INSERT INTO `states` VALUES ('9', 'DISTRICT OF COLUMBIA', 'DC');
INSERT INTO `states` VALUES ('10', 'FLORIDA', 'FL');
INSERT INTO `states` VALUES ('11', 'GEORGIA', 'GA');
INSERT INTO `states` VALUES ('12', 'HAWAII', 'HI');
INSERT INTO `states` VALUES ('13', 'IDAHO', 'ID');
INSERT INTO `states` VALUES ('14', 'ILLINOIS', 'IL');
INSERT INTO `states` VALUES ('15', 'INDIANA', 'IN');
INSERT INTO `states` VALUES ('16', 'IOWA', 'IA');
INSERT INTO `states` VALUES ('17', 'KANSAS', 'KS');
INSERT INTO `states` VALUES ('18', 'KENTUCKY', 'KY');
INSERT INTO `states` VALUES ('19', 'LOUISIANA', 'LA');
INSERT INTO `states` VALUES ('20', 'MAINE', 'ME');
INSERT INTO `states` VALUES ('21', 'MARYLAND', 'MD');
INSERT INTO `states` VALUES ('22', 'MASSACHUSETTS', 'MA');
INSERT INTO `states` VALUES ('23', 'MICHIGAN', 'MI');
INSERT INTO `states` VALUES ('24', 'MINNESOTA', 'MN');
INSERT INTO `states` VALUES ('25', 'MISSISSIPPI', 'MS');
INSERT INTO `states` VALUES ('26', 'MISSOURI', 'MO');
INSERT INTO `states` VALUES ('27', 'MONTANA', 'MT');
INSERT INTO `states` VALUES ('28', 'NEBRASKA', 'NE');
INSERT INTO `states` VALUES ('29', 'NEVADA', 'NV');
INSERT INTO `states` VALUES ('30', 'NEW HAMPSHIRE', 'NH');
INSERT INTO `states` VALUES ('31', 'NEW JERSEY', 'NJ');
INSERT INTO `states` VALUES ('32', 'NEW MEXICO', 'NM');
INSERT INTO `states` VALUES ('33', 'NEW YORK', 'NY');
INSERT INTO `states` VALUES ('34', 'NORTH CAROLINA', 'NC');
INSERT INTO `states` VALUES ('35', 'NORTH DAKOTA', 'ND');
INSERT INTO `states` VALUES ('36', 'OHIO', 'OH');
INSERT INTO `states` VALUES ('37', 'OKLAHOMA', 'OK');
INSERT INTO `states` VALUES ('38', 'OREGON', 'OR');
INSERT INTO `states` VALUES ('39', 'PENNSYLVANIA', 'PA');
INSERT INTO `states` VALUES ('40', 'RHODE ISLAND', 'RI');
INSERT INTO `states` VALUES ('41', 'SOUTH CAROLINA', 'SC');
INSERT INTO `states` VALUES ('42', 'SOUTH DAKOTA', 'SD');
INSERT INTO `states` VALUES ('43', 'TENNESSEE', 'TN');
INSERT INTO `states` VALUES ('44', 'TEXAS', 'TX');
INSERT INTO `states` VALUES ('45', 'UTAH', 'UT');
INSERT INTO `states` VALUES ('46', 'VERMONT', 'VT');
INSERT INTO `states` VALUES ('47', 'VIRGINIA', 'VA');
INSERT INTO `states` VALUES ('48', 'WASHINGTON', 'WA');
INSERT INTO `states` VALUES ('49', 'WEST VIRGINIA', 'WV');
INSERT INTO `states` VALUES ('50', 'WISCONSIN', 'WI');
INSERT INTO `states` VALUES ('51', 'WYOMING', 'WY');

MySQL Substring Replace

Posted on Monday, June 8, 2009 in MySQL

Example will replace *.gif with *.jpg
UPDATE table_name SET image=replace(image,'.gif','.jpg');