日期:2014-05-16  浏览次数:20840 次

mysql下如何执行sql脚本

首要步骤(一般可省略):
开启mysql服务(默认是开机时就自动运行了):
控制面板-->管理工具-->服务,在里面找到名称为mysql的项,双击就可看它的服务状态是启动还是停止,把它设为启动
连接mysql:
在命令行下输入 mysql -h localhost -u root -p回车,然后输入密码即可;或直接运行mysql自带的连接工具,然后输入密码即可.
1.编写sql脚本,假设内容如下:

create database dearabao;
use dearabao;
create table niuzi (name varchar(20));

?

保存脚本文件,假设我把它保存在F盘的hello world目录下,于是该文件的路径为:F:\hello world\niuzi.sql

2.执行sql脚本

可以有2种方法:
第一种方法:
在命令行下(未连接数据库),输入 mysql -h localhost -u root -p123456 < F:\hello world\niuzi.sql (注意路径不用加引号的!!) 回车即可.
第二种方法:
在命令行下(已连接数据库,此时的提示符为 mysql> ),输入 source F:\hello world\niuzi.sql (注意路径不用加引号的) 或者 \. F:\hello world\niuzi.sql (注意路径不用加引号的) 回车即可

在程序初始化时一般会把要执行的SQL语句放到一个SQL文件,在程序安装时自动执行,其实就是批处理执行SQL命令。同样,可以手动执行sql文件,具体步骤如下:
?????? 1、使用root帐户登录到MySQL服务器;
?????? 2、执行source命令:
????????mysql> source c:/test.sql
????????注意:文件路径中建议使用“/”,如果使用“\”,要首先进行转义即“\\”,否则可能会出现错误。
?????? 另外还有一个load命令可以批量插入数据,但是这个对文件中数据格式的要求比较严格,否则容易出现错误,很少使用。

mysql 查看所有用户的语句
输入指令select user();

例:(项目来源:尚学堂)struts_training_itemmgr.sql内容如下:

DROP TABLE t_items;
DROP TABLE t_data_dict;
CREATE TABLE t_items (
item_no varchar(20) not null key,
item_name varchar(20) not null,
spec varchar(20),
pattern varchar(10),
category varchar(20),
unit char(20)
);
CREATE TABLE t_data_dict (
id varchar(5) not null key,
category varchar(20),
name varchar(30)
);
# t_data_dict的初始化数据
INSERT INTO t_data_dict(id,category,name) values('B01','item_category','精通Spring2.X Java Web开发');
INSERT INTO t_data_dict(id,category,name) values('B02','item_category','Java语言与面向对象程序设计');
INSERT INTO t_data_dict(id,category,name) values('B03','item_category','2B铅笔');
INSERT INTO t_data_dict(id,category,name) values('B04','item_category','HOTROCK notebook');
INSERT INTO t_data_dict(id,category,name) values('C01','item_unit','本');
INSERT INTO t_data_dict(id,category,name) values('C02','item_unit','支');
INSERT INTO t_data_dict(id,category,name) values('C03','item_unit','箱');

???????? 进入MySql,选择数据库drpItem,执行source E:\struts_training_itemmgr.sql,如下所示:
Enter password: ********
Welcome to the MySQL monitor.??Commands end with ; or \g.
Your MySQL connection id is 110
Server version: 5.0.77-community-nt MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use drpItem;
Database changed
mysql> source E:\struts_training_itemmgr.sql
Query OK, 0 rows affected (0.03 sec)
Query OK, 0 rows affected (0.05 sec)
Query OK, 0 rows affected (0.09 sec)
Query OK, 0 rows affected (0.08 sec)
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.02 sec)
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.03 sec)
mysql>