用select...into语句
创新互联专注于企业成都营销网站建设、网站重做改版、鹤壁网站定制设计、自适应品牌网站建设、H5响应式网站、成都做商城网站、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为鹤壁等各大城市提供网站开发制作服务。
下面是mysql 5.0的帮助文档的:
这个SELECT语法把选定的列直接存储到变量。因此,只有单一的行可以被取回。
SELECT id,data INTO x,y FROM test.t1 LIMIT 1;
注意,用户变量名在MySQL 5.1中是对大小写不敏感的。请参阅9.3节,“用户变量”。
重要: SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column的:
CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
DECLARE xname VARCHAR(5) DEFAULT 'bob';
DECLARE newname VARCHAR(5);
DECLARE xid INT;
SELECT xname,id INTO newname,xid
FROM table1 WHERE xname = xname;
SELECT newname;
END;
当这个程序被调用的时候,无论table.xname列的值是什么,变量newname将返回值‘bob’。
先加一新字段再赋值:
alter table table_name add mmm varchar2(10);
update table_name set mmm=** ;
或:
alter table table1 add col1 int default 0
CASE WHEN account_id= ''
THEN 'empty'
when account_id is null
then 'empty'
ELSE account_id
END
WHERE account_id = 'XXX' OR account_id ='' OR (account_id is NULL)[/code]
扩展资料:
SQL有两种使用方式。一是联机交互使用,这种方式下的SQL实际上是作为自含型语言使用的。另一种方式是嵌入到某种高级程序设计语言(如C语言等)中去使用。前一种方式适合于非计算机专业人员使用,后一种方式适合于专业计算机人员使用。尽管使用方式不向,但所用语言的语法结构基本上是一致的。
参考资料来源:百度百科-结构化查询语言
没有办法,只能通过其它字处理软件,或者EXCEL来一次性快速生成
update table1 set x='xxx' where id=123;
DECLARE PRIMARY_KEY VARCHAR(100);
SET PRIMARY_KEY = group_concat(NEW.USER_ID,NEW.ROLE_NAME);
查询语句是这样写的:
select group_concat(NEW.USER_ID,NEW.ROLE_NAME)from NEW where 条件;
SELECT group_concat(NEW.USER_ID,NEW.ROLE_NAME separator '连接字符') FROM NEW where 条件;
DELIMITER $$
USE `test`$$
DROP PROCEDURE IF EXISTS `p_getAllTablesCount`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_getAllTablesCount`()
BEGIN
DECLARE tableName VARCHAR (100);
DECLARE tablesn VARCHAR (100);
DECLARE tableCount INT;
DECLARE stopFlag INT;
DECLARE sqlStr VARCHAR(1000);
-- 注意:请修改数据库名称
DECLARE cursor_name CURSOR FOR SELECT TABLE_NAME FROM information_schema.tables WHERE table_schema='test';
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET stopFlag=1;
CREATE TABLE IF NOT EXISTS temp_table(table_name VARCHAR(100),table_count VARCHAR(100));
OPEN cursor_name;
REPEAT
FETCH cursor_name INTO tableName;
SET sqlStr = CONCAT('SELECT COUNT(1) into @tableCount FROM ', tableName);
SELECT sqlStr INTO @sqlStr;
-- select @sqlStr;
SELECT @tableCount INTO tableCount;
BEGIN
PREPARE stepInsertIntoTable FROM @sqlStr;
EXECUTE stepInsertIntoTable;
END;
SET sqlStr = CONCAT('insert into temp_table values(''',CONCAT(tableName),''',''',CONCAT(tableCount),''');');
SELECT sqlStr INTO @sqlStr;
BEGIN
PREPARE stepInsertIntoTable FROM @sqlStr;
EXECUTE stepInsertIntoTable;
END;
UNTIL stopFlag END REPEAT;
CLOSE cursor_name;
SELECT table_name,table_count FROM temp_table ORDER BY table_count DESC;
-- PREPARE step FROM @sql1;
-- EXECUTE step;
DROP TABLE temp_table;
END$$
DELIMITER ;