这个SELECT语法把选定的列直接存储到变量。因此,只有单一的行可以被取回。
重要:
SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column的:
CREATE PROCEDURE sp1 (x VARCHAR(5)) BEGINDECLARE xname VARCHAR(5) DEFAULT 'bob' DECLARE newname VARCHAR(5) DECLARE xid INTSELECT xname,id INTO newname,xid FROM table1 WHERE xname = xname SELECT newname END
当这个程序被调用的时候,无论table.xname列的值是什么,变量newname将返回值‘bob’。
修改表:
1.修改之添加列:给stu表添加classname列:
ALTER TABLE stu ADD (classname varchar(100))
2.修改之修改列类型:修改stu表的gender列类型为CHAR(2):
ALTER TABLE stu MODIFY gender CHAR(2)
3.修改之修改列名:修改stu表的gender列名为sex:
ALTER TABLE stu change gender sex CHAR(2)
4.修改之删除列:删除stu表的classname列:
ALTER TABLE stu DROP classname
5.修改之修改表名称:修改stu表名称为student:
ALTER TABLE stu RENAME TO student
查看当前数据库中所有表名称:SHOW TABLES;
查看指定表的创建语句:SHOW CREATE TABLE emp,查看emp表的创建语句;
查看表结构:DESC emp,查看emp表结构;
删除表:DROP TABLE emp,删除emp表;
在使用常量或者标识符的地方不能使用。例如表名、列名和LIMIT子句中,用户自定义变量的生命周期是在一个连接中有效,所以不能用它们来做连接间的通信。
不能显式地申明自定义变量的类型。确认未定义变量的具体类型的时机在不同mysql版本中可能不一样。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)