??xml version="1.0" encoding="utf-8" standalone="yes"?>
2 exp username/psw@TEST file=d:test.dmp owner=(ly)
3 exp username/psw@TEST file= d:test.dmp tables=(grid1,grid2)
3表grid1Q与grid2导出
dQtest.dmp是导出的文g地址
imp命oQ?br />
2 imp system/psw@TEST full=y file=d:test.dmp ignore=y
3 imp system/psw@TEST file=d:test.dmp tables=(grid1)
3表示只导入grid1q个?br />
在导入导出前要先试下对应的数据库是否是通的Qtnsping test来测试,同样test是服务名
所有命令可在cmd下执?
]]>
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
String encoding = request.getCharacterEncoding();
if ((encoding != null) && (encoding.equalsIgnoreCase("utf-8")))
{
response.setContentType("text/html; charset=gb2312");//如果没有指定~码Q编码格式ؓgb2312
}
NodeForm theForm = (NodeForm) form;
String nodename=theForm.getNodename();
String note=theForm.getNote();
FormFile file = theForm.getTheFile1();//取得上传的文?br> FormFile file2=theForm.getTheFile2();
FormFile file3=theForm.getTheFile3();
Session session=null;
String forward="";
try
{
/*
* 取当前系l\?
*/
String filePath = this.getServlet().getServletContext()
.getRealPath("/");
System.out.println("---------------------------------------"+filePath);
if(file.getFileSize()!=0){
ByteArrayInputStream stream = (ByteArrayInputStream) file.getInputStream();//把文件读?br>
//ByteArrayOutputStream baos = new ByteArrayOutputStream();
/*
* 建立一个上传文件的输出?
*/
OutputStream bos = new FileOutputStream(filePath +
"UploadFiles\\"+file.getFileName());
request.setAttribute("fileName",filePath + "/"
+ file.getFileName());
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1)
{
bos.write(buffer, 0, bytesRead);//文件写入服务器
}
bos.close();
stream.close();
}if(file2.getFileSize()!=0){
ByteArrayInputStream stream2 = (ByteArrayInputStream) file2.getInputStream();
OutputStream bos2 = new FileOutputStream(filePath +
"UploadFiles\\"+file2.getFileName());//建立一个上传文件的输出?br> int bytesRead2 = 0;
byte[] buffer2 = new byte[8192];
while ((bytesRead2 = stream2.read(buffer2, 0, 8192)) != -1)
{
bos2.write(buffer2, 0, bytesRead2);//文件写入服务器
}
bos2.close();
stream2.close();
}if(file3.getFileSize()!=0){
ByteArrayInputStream stream3 = (ByteArrayInputStream) file3.getInputStream();//把文件读?br> OutputStream bos3 = new FileOutputStream(filePath +
"UploadFiles\\"+file3.getFileName());//建立一个上传文件的输出?br> int bytesRead3 = 0;
byte[] buffer3 = new byte[8192];
while ((bytesRead3 = stream3.read(buffer3, 0, 8192)) != -1)
{
bos3.write(buffer3, 0, bytesRead3);//文件写入服务器
}
bos3.close();
stream3.close();
}
Configuration config = new Configuration().configure();
SessionFactory factory = config.buildSessionFactory();
session = factory.openSession();
Transaction transaction = session.beginTransaction();
Node node=new Node();
node.setNodeName(nodename);
node.setXsdName(file.getFileName());
node.setXslName(file2.getFileName());
node.setXhtmlName(file3.getFileName());
node.setNote(note);
session.save(node);
session.flush();
session.clear();
forward="display";
transaction.commit();
}
catch (Exception e)
{
forward="error";
System.err.print(e);
e.printStackTrace();
}
finally{
session.close();
}
return mapping.findForward(forward);
}
1q接数据库:
q入mysql的安装\径bin如:C:>cd C:Program FilesMySQLMySQL Server 5.0bin
输入用户名密码: C:Program FilesMySQLMySQL Server 5.0bin>mysql -uroot -p123456
2退出mysql
mysql>exit
3. 修改密码:
C:Program FilesMySQLMySQL Server 5.0bin>mysqladmin -uroot -p123456 password 456123
4.增加用户Q?br>d一个用户test1 密码为ABCQ让他可以在ML上登?q对所有数据库有查询、插入、修攏V删除的权限。首先用以root用户q入mysql,
mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
增加一个用户test2密码为abc,让其只可以在localhost上登?q可以对数据库mydbq行查询、插入、修攏V删除的操作Qlocalhost指本C?即mysql数据库所在的那台LQ?q样用户即用知道test2的密码,也无法从internet上直接访问数据库,只能通过mysqlL上的web|讉K了?/p>
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
增加一个可以从M地方q接服务器的一个完全的用户
mysql>grant all privileges on *.* to test3@"%" identified by 'abc' with grant option;
5.删除授权(与上面授权相对应)
mysql>revoke select,insert,update,delete on *.* from test1@"%" ;
mysql>revoke select,insert,update,delete on mydb.* from test2@localhost;
mysql>revoke all privileges on *.* from test3@"%";
6.昄数据?br>mysql>show databases;
7.昄数据库中的表(exam数据库名)
mysql>use examQ?br>mysql>show tablesQ?/p>
8.昄表的l构Qdb_testtemp表名Q?br>mysql>describe db_testtemp;
9.建库
mysql>create database 库名;
10.
mysql>use test;
mysql>create table teacher(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default 'beijing',
year date
);
或?/p>
school.sql的内?/p>
use exam;
create table teacher(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default 'beijing',
year date
);
把文件school.sql攑ֈc:下,q在DOS状态进入目录C:>cd C:Program FilesMySQLMySQL Server 5.0bin
然后C:Program FilesMySQLMySQL Server 5.0bin>mysql -uroot -p456123 < c:school.sql
如果成功Q空Z行无M昄Q如有错误,会有提示?/p>
11.删除?br>mysql>drop database test;
和删除表
mysql>use exam;
mysql>drop table teacher;
14.表重命名
mysql>alter table teacher rename student;
15. 备䆾数据?生成的exam.sql攑֜目录C:Program FilesMySQLMySQL Server 5.0bin?
C:Program FilesMySQLMySQL Server 5.0bin>mysqldump -hlocalhost -uroot -pncae2010 exam > exam.sql
16. 恢复数据?localhost不能用本机IP代替)
C:Program FilesMySQLMySQL Server 5.0bin>mysql -hlocalhost -uroot -pncae2010 exam < exam.sql
17.复制数据?把所有的数据库备份到目录C:Program FilesMySQLMySQL Server 5.0bin下的all-databases.sql文g?
C:Program FilesMySQLMySQL Server 5.0bin>mysqldump -hlocalhost -uroot -pncae2010 --all-databases > all-databases.sql
18.备䆾?生成的student.sql攑֜目录C:Program FilesMySQLMySQL Server 5.0bin?
C:Program FilesMySQLMySQL Server 5.0bin>mysqldump -hlocalhost -uroot -pncae2010 exam student > student.sql
19.恢复?操作前先把原来的表删?
C:Program FilesMySQLMySQL Server 5.0bin>mysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql
q有一些未实践
20.Z改变列aQ从INTEGER改ؓTINYINT NOT NULL(名字一?Q?br>q且改变列bQ从CHAR(10)改ؓCHAR(20)Q同旉命名它,从b改ؓc:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
增加一个新TIMESTAMP列,名ؓdQ?br>ALTER TABLE t2 ADD d TIMESTAMP;
在列d上增加一个烦引,q且使列aZ键:
ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);
删除列cQ?br>ALTER TABLE t2 DROP COLUMN c;
增加一个新的AUTO_INCREMENT整数列,命名为cQ?br>ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
注意Q我们烦引了cQ因为AUTO_INCREMENT柱必被索引Qƈ且另外我们声明c为NOT NULLQ?br>因ؓ索引了的列不能是NULL
---------------------------------------------------------------
21.数据的导入导?br>A。mysqlimport
语法Qmysqlbinmysqlimport database tables.txt( 文g名需要与表名相同)
参数Q?d or --delete 新数据导入数据表中之前删除数据数据表中的所有信息;
-f or --force 不管是否遇到错误?br>-i or --ignore mysqlimport跌或者忽略那些有相同唯一关键字的行, 导入文g中的数据被忽略Q?br>-l or -lock-tables 数据被插入之前锁住表Q这样就防止了, 你在更新数据库时Q用L查询和更新受到媄响;
--fields-enclosed- by= char
指定文本文g中数据的记录时以什么括LQ?很多情况下数据以双引h赗?默认的情况下数据是没有被字符括v的?
--fields-terminated- by=char
指定各个数据的g间的分隔W,在句号分隔的文g中,分隔W是句号。您可以用此选项指定数据之间的分隔符。默认的分隔W是xW?/p>
QTabQ?
--lines-terminated- by=str
此选项指定文本文g中行与行之间数据的分隔字W串 或者字W?默认的情况下mysqlimport以newline分隔W?您可以选择用一个字
W串来替代一个单个的字符Q?一个新行或者一个回车?
mysqlimport命o常用的选项q有-v 昄版本QversionQ, -p 提示输入密码QpasswordQ等?/p>
--------------------------------------------------------------
22.常用插入、修攏V删除语?br>插入记录Qinsert into teacher s('','glchengang','深圳一?,'1976-10-10');
修改记录Qupdate mytable set single=′y′ where name=′abccs′;
删除记录Qdelete from mytable where name=′abc′;
出现: mysql 的提C符Q此时已q入mysql的交互操作方式?br>3、退出MySQL操作界面
在mysql>提示W下输入quit可以随时退Z互操作界面:
mysql> quit
Bye
你也可以用control-D退出?
4、第一条命?
mysql> select version(),current_date();
+----------------+-----------------+
| version() | current_date() |
+----------------+-----------------+
| 3.23.25a-debug | 2001-05-17 |
+----------------+-----------------+
1 row in set (0.01 sec)
mysql>
此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上q命令,看结果如何。结果说明mysql命o的大写l果是一致的?
l习如下操作Q?
mysql>Select (20+5)*4;
mysql>Select (20+5)*4,sin(pi()/3);
mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)
<B>5、多行语?lt;/B>
一条命令可以分成多行输入,直到出现分号“Q?#8221;为止Q?
<ccid_nobr>
<table width="400" border="1" cellspacing="0" cellpadding="2"
bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">
<tr>
<td bgcolor="e6e6e6" class="code" style="font-size:9pt">
<pre><ccid_code> mysql> select
-> USER()
-> ,
-> now()
->;
+--------------------+---------------------+
| USER() | now() |
+--------------------+---------------------+
| ODBC@localhost | 2001-05-1:59:15 |
+--------------------+---------------------+
1 row in set (0.06 sec)
mysql>
注意中间的逗号和最后的分号的用方法?
6、一行多命o
输入如下命oQ?
mysql> SELECT USER(); SELECT NOW();
+------------------+
| USER() |
+------------------+
| ODBC@localhost |
+------------------+
1 row in set (0.00 sec)
+---------------------+
| NOW() |
+---------------------+
| 2001-05-17 23:06:15 |
+---------------------+
1 row in set (0.00 sec)
mysql>
注意中间的分P命o之间用分号隔开?
7、显C当前存在的数据?
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 row in set (0.06 sec)
mysql>
8、选择数据库ƈ昄当前选择的数据库
mysql> USE mysql
Database changed
mysql>
(USE ?QUIT 命o不需要分L束。)
mysql> select database();
+---------------+
| database() |
+---------------+
| mysql |
+---------------+
1 row in set (0.00 sec)
9、显C当前数据库中存在的?
mysql> SHOW TABLES;
10、显C(db)的内?
mysql>select * from db;
11、命令的取消
当命令输入错误而又无法改变Q多行语句情形)Ӟ只要在分号出现前可以用 c来取消该条命?
mysql> select
-> user()
-> c
mysql>
echo Delete last arthive file\(s\) ...
rm DB_BACKUP.sql.gz
echo Backup MySQL DB\(c156948_wbj123Drupal\) ...
mysqldump --user=c156948admin --password=xxxxxxx --host=mysql4-c c156948_wbj123Drupal | gzip > DB_BACKUP.sql.gz
echo Mail it to xxxxxx@gmail.com ...
uuencode DB_BACKUP.sql.gz DB_BACKUP.sql.gz | mail -s "Drupal DB BACKUP of wbj123.com" -c xxxxxxx@shtel.net.cn xxxxxx@gmail.com
解释如下Q?br>先删掉上ơ备份的旧的备䆾文g
再备份MySQL数据?br>再把数据库的备䆾文gEmailC个邮׃
若不要抄送邮Ӟ改用下面这D?/p>
echo Mail it to xxx@yyyyyy.com with short title ... uuencode DB_BACKUP.sql.gz DB.gz | mail -s "DB" xxx@yyyyyy.com