进入命令行
$ mysql -u root -p
执行sql文件
$ mysql -u root -p < mysql.sql
执行sql命令
$ mysql -u root -p -e "call mtest('hehe');"
存储过程示例
表名做输入参数
use mail;
delimiter $;
drop procedure if exists mlook;
create procedure mlook(in tbl varchar(10))
begin
SET @sqlcmd = concat('select * from ', tbl);
prepare stmt from @sqlcmd;
execute stmt;
deallocate prepare stmt;
end;
存储过程创建的sql文件
use mail;
delimiter $;
drop procedure if exists madduser;
create procedure madduser(in user_name varchar(100), in passwd varchar(100))
begin
insert into users (email, password) VALUES (user_name, ENCRYPT(passwd));
end;
命令存成sql文件
CREATE DATABASE mail;
USE mail;
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost' IDENTIFIED BY 'password-for-mail_admin';
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'127.0.0.1' IDENTIFIED BY 'password-for-mail_admin';
FLUSH PRIVILEGES;
CREATE TABLE domains (domain varchar(50) NOT NULL, PRIMARY KEY (domain) );
CREATE TABLE forwardings (source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) );
CREATE TABLE users (email varchar(80) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (email) );
CREATE TABLE transport ( domain varchar(128) NOT NULL default '', transport varchar(128) NOT NULL default '', UNIQUE KEY domain (domain) );
quit
1万+

被折叠的 条评论
为什么被折叠?



