??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久国产精品熟女影院 ,亚洲精品无码久久久久AV麻豆,久久国产香蕉一区精品http://www.shnenglu.com/niewenlong/category/4378.htmlzh-cnThu, 30 Mar 2017 15:59:11 GMTThu, 30 Mar 2017 15:59:11 GMT60Mysql Deletehttp://www.shnenglu.com/niewenlong/archive/2017/03/29/214793.html聂文?/dc:creator>聂文?/author>Wed, 29 Mar 2017 09:47:00 GMThttp://www.shnenglu.com/niewenlong/archive/2017/03/29/214793.htmlhttp://www.shnenglu.com/niewenlong/comments/214793.htmlhttp://www.shnenglu.com/niewenlong/archive/2017/03/29/214793.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/214793.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/214793.html

1.使用mysqlq行delete from操作Ӟ若子查询?FROM 字句和更?删除对象使用同一张表Q会出现错误?nbsp;

mysql> DELETE FROM tab1 WHERE col1 = ( SELECT MAX( col1 ) FROM tab1 ); 
ERROR 1093 (HY000): You can’t specify target table ‘tab1′ for update in FROM clause 

针对“同一张表”q个限制Q撇开效率不谈Q多数情况下都可以通过多加一层select 别名表来变通解冻I像这?nbsp;

DELETE FROM tab1 
WHERE col1 = ( 
SELECT MAX( col1 ) 
FROM ( 
SELECT * FROM tab1 
) AS t 
); 


------------------------------------------------------------------------ 

2. mysql delete from where in 时后?的查询语句里不能加where条g 


Sql代码 
      delete from `t_goods` where fi_id in (select * from ( select fi_id from `t_goods` where fs_num is null and fs_name is null and fs_type is null and fs_using is null and fs_lifetime is null) b)  


Sql代码 
      delete from `t_goods` where fi_id in (select fi_id from `t_goods` where fs_num is null and fs_name is null and fs_type is null and fs_using is null and fs_lifetime is null)   


Sql代码 
      delete from `t_goods` where fi_id in ( select fi_id from `t_goods` )   

上面三种情况Q只有中间的不能执行?nbsp;

l合h是mysql delete from where in 时后?的查询语句里不能加where条g 

--------------------------------------------------------------------------- 


3. delete from table... q其中table不能使用别名 

Sql代码 

    delete from student a where a.id in (1,2);(执行p|) 

    

     select a.* from student a where a.id in (1,2);(执行成功)
  @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);





]]>
Mysql 链表查询http://www.shnenglu.com/niewenlong/archive/2016/09/08/214264.html聂文?/dc:creator>聂文?/author>Thu, 08 Sep 2016 10:12:00 GMThttp://www.shnenglu.com/niewenlong/archive/2016/09/08/214264.htmlhttp://www.shnenglu.com/niewenlong/comments/214264.htmlhttp://www.shnenglu.com/niewenlong/archive/2016/09/08/214264.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/214264.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/214264.htmlSELECT u.user_id,u.user_name,c.ct,sub.cts  FROM `zdh_users` u  

LEFT JOIN   (select admin_id,count(*) as ct FROM `zdh_users` GROUP by admin_id) as c  
ON u.user_id = c.admin_id 


LEFT JOIN   (select admin_id,count(*) as cts FROM `zdh_users` where is_subscribe = 1 GROUP by admin_id) as sub 

ON u.user_id = sub.admin_id 

WHERE c.ct >0 

order by c.ct DESC ,sub.cts DESC,u.user_id ASC
@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

]]>
mac mysql error You must reset your password using ALTER USER statement before executing this statement.http://www.shnenglu.com/niewenlong/archive/2016/05/22/213562.html聂文?/dc:creator>聂文?/author>Sun, 22 May 2016 03:02:00 GMThttp://www.shnenglu.com/niewenlong/archive/2016/05/22/213562.htmlhttp://www.shnenglu.com/niewenlong/comments/213562.htmlhttp://www.shnenglu.com/niewenlong/archive/2016/05/22/213562.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/213562.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/213562.htmlmac mysql error You must reset your password using ALTER USER statement before executing this statement.

安装完mysql 之后Q登陆以后,不管q行M命oQL提示q个

step 1: SET PASSWORD = PASSWORD('your new password');

step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

step 3: flush privileges;

完成以上三步退出再登,使用新设|的密码p了,以上除了U色的自׃Ҏ(gu)新密码外Q其他原栯入即?/p>

参?: https://dev.mysql.com/doc/refman/5.6/en/alter-user.html

参?: http://dev.mysql.com/doc/refman/5.7/en/password-expiration-policy.html

参?: http://stackoverflow.com/questions/33467337/reset-mysql-root-password-using-alter-user-statement-after-install-on-mac

@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

]]>
mysql数据库备份及恢复命omysqldump,source的用?http://www.shnenglu.com/niewenlong/archive/2014/08/07/207927.html聂文?/dc:creator>聂文?/author>Wed, 06 Aug 2014 16:52:00 GMThttp://www.shnenglu.com/niewenlong/archive/2014/08/07/207927.htmlhttp://www.shnenglu.com/niewenlong/comments/207927.htmlhttp://www.shnenglu.com/niewenlong/archive/2014/08/07/207927.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/207927.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/207927.html

q原一个数据库:mysql -h localhost -u root -p123456 www<c:/www.sql

备䆾一个数据库:mysqldump -h localhost -u root -p123456 www > d:/www2008-2-26.sql

 

 

//以下是在E序中进行测?/strong>

//$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile";
$command="mysqldump -h localhost -u root -p123456 guestbook > guestbook2-29.sql";
system($command);
echo "success";

************************************************

备䆾MySQL数据库的命o

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备䆾MySQL数据库ؓ带删除表的格?/strong>
备䆾MySQL数据库ؓ带删除表的格式,能够让该备䆾覆盖已有数据库而不需要手动删除原有数据库?/p>

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接MySQL数据库压~备?/strong>

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备䆾MySQL数据库某???/strong>

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备䆾多个MySQL数据?/strong>

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备䆾数据库结?/strong>

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备䆾服务器上所有数据库

mysqldump –all-databases > allbackupfile.sql

q原MySQL数据库的命o

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

q原压羃的MySQL数据?/strong>

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

数据库转移到新服务?/strong>

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
 
 几个常用用例Q?/strong>

1.导出整个数据?br /> mysqldump -u 用户?-p 数据库名 > 导出的文件名
mysqldump -u root -p dataname >dataname.sql
q个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备䆾在mysql/bin/目录?

2.导出一个表
mysqldump -u 用户?-p 数据库名 表名> 导出的文件名
mysqldump -u root -p dataname users> dataname_users.sql

3.导出一个数据库l构
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:/wcnc_db.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

4.导入数据?br /> 常用source 命o
q入mysql数据库控制台Q?br /> 如mysql -u root -p

mysql>use 数据?/p>

然后使用source命oQ后面参Cؓ脚本文gQ如q里用到?sqlQ?br /> mysql>source d:/wcnc_db.sql

mysqldump支持下列选项Q?/strong>
–add-locks
在每个表导出之前增加LOCK TABLESq且之后UNLOCK TABLE?Z使得更快地插入到MySQL)?/p>

–add-drop-table
在每个create语句之前增加一个drop table?/p>

–allow-keywords
允许创徏是关键词的列名字。这p名前~于每个列名做到?/p>

-c, –complete-insert
使用完整的insert语句(用列名字)?/p>

-C, –compress
如果客户和服务器均支持压~,压羃两者间所有的信息?/p>

–delayed
用INSERT DELAYED命o插入行?/p>

-e, –extended-insert
使用全新多行INSERT语法。(l出更紧~ƈ且更快的插入语句Q?/p>

-#, –debug[=option_string]
跟踪E序的?Z调试)?/p>

–help
昄一条帮助消息ƈ且退出?/p>

–fields-terminated-by=…

–fields-enclosed-by=…

–fields-optionally-enclosed-by=…

–fields-escaped-by=…

–fields-terminated-by=…

q些选择?T选择一起用,q且有相应的LOAD DATA INFILE子句相同的含义?br /> LOAD DATA INFILE语法?/p>

-F, –flush-logs
在开始导出前Q洗掉在MySQL服务器中的日志文件?/p>

-f, –force,
即我们在一个表导出期间得到一个SQL错误Ql?/p>

-h, –host=..
从命名的L上的MySQL服务器导出数据。缺省主机是localhost?/p>

-l, –lock-tables.
为开始导出锁定所有表?/p>

-t, –no-create-info
不写入表创徏信息(CREATE TABLE语句Q?/p>

-d, –no-data
不写入表的Q何行信息。如果你只想得到一个表的结构的导出Q这是很有用的!

–opt
?#8211;quick –add-drop-table –add-locks –extended-insert –lock-tables?br /> 应该l你入一个MySQL服务器的可能最快的导出?/p>

-pyour_pass, –password[=your_pass]
与服务器q接时用的口o。如果你不指?#8220;=your_pass”部分Qmysqldump需要来自终端的口o?/p>

-P port_num, –port=port_num
与一C接时使用的TCP/IP端口受(q用于连接到l(f)ocalhost以外的主机,因ؓ它?Unix套接字。)

-q, –quick
不缓冲查询,直接导出至stdoutQ用mysql_use_result()做它?/p>

-S /path/to/socket, –socket=/path/to/socket
与localhostq接Ӟ它是~省L)使用的套接字文g?/p>

-T, –tab=path-to-some-directory
对于每个l定的表Q创Z个table_name.sql文gQ它包含SQL CREATE 命oQ和一个table_name.txt文gQ它包含数据。注意:q只有在mysqldumpq行在mysqld守护q程q行的同一台机器上的时候才?作?txt文g的格式根?#8211;fields-xxx?–lines–xxx选项来定?/p>

-u user_name, –user=user_name
与服务器q接ӞMySQL使用的用户名。缺省值是你的Unixd名?/p>

-O var=option, –set-variable var=option
讄一个变量的倹{可能的变量被列在下面?/p>

-v, –verbose
冗长模式。打印出E序所做的更多的信息?/p>

-V, –version
打印版本信息q且退出?/p>

-w, –where=’where-condition’
只导选择了的记录Q注意引h强制的!
“–where=user=’jimf’” “-wuserid>1″ “-wuserid<1″

最常见的mysqldump使用可能制作整个数据库的一个备份:
mysqldump –opt database > backup-file.sql

但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的Q?br /> mysqldump –opt database | mysql –host=remote-host -C database
׃mysqldump导出的是完整的SQL语句Q所以用mysql客户E序很容易就能把数据导入了:

shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql

shell> mysql 库名 < 文g?/p>




mysqldump--导出工具
 

mysqldump备䆾q原和mysqldump导入导出语句大全详解

mysqldump备䆾Q?/p>

mysqldump -u用户?-p密码 -hL 数据?a -w "sql条g" --lock-all-tables > 路径

案例Q?/p>

mysqldump -uroot -p1234 -hlocalhost db1 a -w "id in (select id from b)" --lock-all-tables > c:\aa.txt

mysqldumpq原Q?/p>

mysqldump -u用户?-p密码 -hL 数据?< 路径

案例Q?/p>

mysql -uroot -p1234 db1 < c:\aa.txt

mysqldump按条件导?/strong>Q?/p>

mysqldump -u用户?-p密码 -hL 数据?nbsp; a --where "条g语句" --no-> 路径

mysqldump -uroot -p1234 dbname a --where "tag='88'" --no-create-info> c:\a.sql

mysqldump按导?/strong>Q?/p>

mysqldump -u用户?-p密码 -hL 数据?< 路径

案例Q?/p>

mysql -uroot -p1234 db1 < c:\a.txt

mysqldump导出?/strong>Q?/p>

mysqldump -u用户?-p密码 -hL 数据??/p>

案例Q?/p>

mysqldump -uroot -p sqlhk9 a --no-data

讲一?mysqldump 的一些主要参?/p>

--compatible=name
它告?mysqldumpQ导出的数据和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以ؓ ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options?no_tables_options、no_field_options {,要用几个|用逗号它们隔开。当然了Q它q不保证能完全兼容,而是量兼容?
--complete-insertQ?c
导出的数据采用包含字D名的完?INSERT 方式Q也是把所有的值都写在一行。这么做能提高插入效率,但是可能会受?max_allowed_packet 参数的媄响而导致插入失败。因此,需要}慎用该参数Q至我不推荐?
--default-character-set=charset
指定导出数据旉用何U字W集Q如果数据表不是采用默认?latin1 字符集的话,那么导出时必L定该选项Q否则再ơ导入数据后生ؕ码问题?br /> --disable-keys
告诉 mysqldump ?INSERT 语句的开头和l尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; ?/*!40000 ALTER TABLE table ENABLE KEYS */; 语句Q这能大大提高插入语句的速度Q因为它是在插入完所有数据后才重建烦引的。该选项只适合 MyISAM 表?br /> --extended-insert = true|false
默认情况下,mysqldump 开?--complete-insert 模式Q因此不想用它的的话Q就使用本选项Q设定它的gؓ false 卛_?
--hex-blob
使用十六q制格式导出二进制字W串字段。如果有二进制数据就必须使用本选项。媄响到的字D늱型有 BINARY、VARBINARY、BLOB?br /> --lock-all-tablesQ?x
在开始导Z前,提交h锁定所有数据库中的所有表Q以保证数据的一致性。这是一个全局读锁Qƈ且自动关?--single-transaction ?--lock-tables 选项?br /> --lock-tables
它和 --lock-all-tables cMQ不q是锁定当前导出的数据表Q而不是一下子锁定全部库下的表。本选项只适用?MyISAM 表,如果?Innodb 表可以用 --single-transaction 选项?br /> --no-create-infoQ?t
只导出数据,而不d CREATE TABLE 语句?br /> --no-dataQ?d
不导ZQ何数据,只导出数据库表结构?br /> --opt
q只是一个快捷选项Q等同于同时d --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 选项。本选项能让 mysqldump 很快的导出数据,q且导出的数据能很快导回。该选项默认开启,但可以用 --skip-opt 用。注意,如果q行 mysqldump 没有指定 --quick ?--opt 选项Q则会将整个l果集放在内存中。如果导出大数据库的话可能会出现问题?br /> --quickQ?q
该选项在导出大表时很有用,它强?mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后它们缓存到内存中?br /> --routinesQ?R
导出存储q程以及自定义函数?br /> --single-transaction
该选项在导出数据之前提交一?BEGIN SQL语句QBEGIN 不会dM应用E序且能保证导出时数据库的一致性状态。它只适用于事务表Q例?InnoDB ?BDB?br /> 本选项?--lock-tables 选项是互斥的Q因?LOCK TABLES 会M挂v的事务隐含提交?br /> 要想导出大表的话Q应l合使用 --quick 选项?
--triggers
同时导出触发器。该选项默认启用Q用 --skip-triggers 用它?br /> 其他参数详情请参考手册,我通常使用以下 SQL 来备?MyISAM 表:
/usr/local/mysql/bin/mysqldump -uyejr -pyejr "
--default-character-set=utf8 --opt --extended-insert=false "
--triggers -R --hex-blob -x db_name > db_name.sql
使用以下 SQL 来备?Innodb 表:
/usr/local/mysql/bin/mysqldump -uyejr -pyejr "
--default-character-set=utf8 --opt --extended-insert=false "
--triggers -R --hex-blob --single-transaction db_name > db_name.sql
另外Q如果想要实现在U备份,q可以?--master-data 参数来实玎ͼ如下Q?br /> /usr/local/mysql/bin/mysqldump -uyejr -pyejr "
--default-character-set=utf8 --opt --master-data=1 "
--single-transaction --flush-logs db_name > db_name.sql
它只是在一开始的瞬间h锁表Q然后就hbinlog了,而后在导出的文g中加入CHANGE MASTER 语句来指定当前备份的binlog位置Q如果要把这个文件恢复到slave里去Q就可以采用q种Ҏ(gu)来做?/p>

1.2 q原
?mysqldump 备䆾出来的文件是一个可以直接倒入?SQL 脚本Q有两种Ҏ(gu)可以数据导入?br /> 直接?mysql 客户?
例如Q?br /> /usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql
?SOURCE 语法 Q实验不成功Q!Q)
其实q不是标准的 SQL 语法Q而是 mysql 客户端提供的功能Q例如:
SOURCE /tmp/db_name.sql;
q里需要指定文件的l对路径Qƈ且必L mysqld q行用户(例如 nobody)有权限读取的文g?/p>


#导出某个数据库-Q结?数据
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt db_name |gzip -9 > /db_bakup/db_name.gz

#导出某个数据库的表-Q结?数据+函数+存储q程
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt -R db_name |gzip -9 > /db_backup/db_name.gz

#导出多个数据?/div>
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --databases db_name1 db_name2 db_name3 |gzip -9 > /db_backup/mul_db.gz

#导出所有的数据?/div>
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --all-databases |gzip -9 > /db_bak/all_db.gz

#导出某个数据库的l构
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --no-data db_name|gzip -9 > /db_bak/db_name.strcut.gz

#导出某个数据库的数据
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --no-create-info db_name|gzip -9 > /db_bak/db_naem.data.gz

#导出某个数据库的某张?/div>
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt db_name tbl_name |gzip -9 > /db_bak/db_name.tal_name.gz

# 导出某个数据库的某张表的l构
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --no-data db_name tal_name | gzip -9 > /db_bak/db_name.tal_name.struct.gz

#导出某个数据库的某张表的数据
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --no-create-info db_name tbl_name | gzip -9 > /db_bak/db_name.tbl_name.data.gz

##--opt==--add-drop-table + --add-locks + --create-options + --disables-keys + --extended-insert + --lock-tables + --quick + --set+charset
##默认使用--optQ?-skip-opt用--opt参数


]]>SQL 文本导入 方式 bcp OpenRowset opendatasource BULK INSERT http://www.shnenglu.com/niewenlong/archive/2013/03/18/198558.html聂文?/dc:creator>聂文?/author>Mon, 18 Mar 2013 13:11:00 GMThttp://www.shnenglu.com/niewenlong/archive/2013/03/18/198558.htmlhttp://www.shnenglu.com/niewenlong/comments/198558.htmlhttp://www.shnenglu.com/niewenlong/archive/2013/03/18/198558.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/198558.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/198558.htmlselect * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=C:\Users\Administrator\Desktop;','select * from Num.txt') 
select * from opendatasource('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=C:\Users\Administrator\Desktop')...[Num.txt]
BULK INSERT master..Temp FROM 'C:\Users\Administrator\Desktop\Num.txt' WITH  ( FIELDTERMINATOR =' ', ROWTERMINATOR= '\n') 

/** 导入文本文g
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'
 
/** 导出文本文g
EXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword'
?/span>
EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword'
 
导出到TXT文本Q用逗号分开
exec master..xp_cmdshell 'bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password'

在做一些web数据库管理系l的时候经常要实现帐h量注册的功能Q今天就来讲讲如何在C#-web目中将txt文g和excel文g导入SQL2000数据库?/span>
1.数据库准?/span>
在SQL2000数据库的实例数据库pubs中徏立一个数据表txtInsertQ字D很单:idQname两个?/span>
2.txt文本文g导入
对于数据文g导入与导出SQL2000提供了BULK INSERT和BCP语句Q在q里可以使用BULK INSERT命o实现。假讑֜c盘上有一个文本文件stu.txt内容为:
    1,tom
    2,jack
    3,jhon
    ......
实现导入的C#代码如下Q?/span>
protected System.Web.UI.HtmlControls.HtmlInputFile fName;  
protected System.Web.UI.WebControls.Button BtnInsert;
//上面两个控g自己d
private void BtnInsert_Click(object sender, System.EventArgs e)
  
{
                
string fPath=this.fName.PostedFile.FileName;//获得要导入的文本文g                  
            string extName=fPath.Substring(fPath.LastIndexOf(".")+1);//获得文g的扩展名            
            SqlConnection con=new SqlConnection("server=.;database=pubs;uid=sa;pwd=;");//数据库连接对?/span>
            con.Open();
            
try
      
{                    
                    SqlCommand com
=new SqlCommand("BULK INSERT pubs.dbo.txtInsert FROM '"+fPath+"' WITH  (FIELDTERMINATOR = ',',ROWTERMINATOR= '\n')",con);
                       
//其中的FIELDTERMINATOR=','指明字段间所使用的分隔符为逗号
                       
//其中ROWTERMINATOR= '\n'指明记录间所使用的分隔符为回?/span>
                    com.ExecuteNonQuery();
                    Response.Write(
"<script language=javascript>alert('数据导入成功!')</script>");                    
                }

             
catch (SqlException SQLexc)
                
{
                    Response.Write(
"导入数据库时出错Q?/span>" + SQLexc.ToString());
                }

con.Close();
}

好了Q这个txt文g的导入相对简单,在数据库中我也没有设|主键,我在里面也没有加出错回滚事务操作Q在下面的excel文g的导入中介绍?/span>
3.excel文g的导?/span>
在c盘里建立一个stu.xls文gQ在sheet1工作表中有两列数据如下:
     ~号  姓名
     1        tom
     2        jack
     3        john
     ......
注意Q工作表的第一行是作ؓ标题行的不会被插入到数据库中Q真正导入从W二行开始?/span>
Z演示事物出错回滚Q在q里txtInsert数据库表中的id字段讄Z键。实现的C#代码如下Q?/span>
private void BtnInsert_Click(object sender, System.EventArgs e)
  
{
   
string fPath=this.fName.PostedFile.FileName;//获得要导入的文本文g     
   string extName=fPath.Substring(fPath.LastIndexOf(".")+1);//获得文g的扩展名   
   SqlConnection con=new SqlConnection("server=.;database=pubs;uid=sa;pwd=;");//数据库连接对?/span>
   con.Open();   
    
//注意下面的连接字W串Q是它vC导入的作?/span>
    SqlCommand excelCmd=new SqlCommand("insert into txtInsert select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE="+fPath+"',Sheet1$)",con);
    SqlTransaction myTran
=con.BeginTransaction();//开始一个事务操?/span>
    excelCmd.Transaction=myTran;
    
try
    
{       
     excelCmd.ExecuteNonQuery();
     myTran.Commit();
//提交事务       
     Response.Write("<script language=javascript>alert('数据导入成功!')</script>");
    }

    
catch (SqlException err)
    
{       
     myTran.Rollback(); 
//出错回滚事务操作
     
//以下三行是去掉数据库出错信息中的非法字符单引受回车和换行W,否则在用时javascript代码有语法错误
     
//因ؓjs的编码和c#的编码不?/span>
     string errString=err.Message.Replace("'"," ");
     errString
=errString.Replace(Convert.ToChar(13).ToString(),"");
     errString
=errString.Replace(Convert.ToChar(10).ToString(),"");
     
//昄出错信息?/span>
     Response.Write("<script language=javascript>alert('导入数据库时出错!详细信息:"+errString+"')</script>");         
    }
   
   con.Close();
  }
q里“昄出错信息?#8221;开始我没有田间那三行代码,l果搞了半天Q最后还是在html文g中发现javascript代码部分出现了分行,老是提示“未结束的字符串常?#8221;Q所以导致不能打开信息框,郁闷L了,׃好多旉?/span>
4.excel中部分列导入数据库的Ҏ(gu)
上面讲了关于整个excel文g导入数据库的Ҏ(gu)Q那么在实际目中遇到将excel文g中若q列导入数据库怎么办的呢,原理差不多,我就代码直接给ZQ?/span>
                   string  fPath=this.fName.PostedFile.FileName;//获得要导入的文本文g     
                   string  extName=fPath.Substring(fPath.LastIndexOf(".")+1);//获得文g的扩展名   
                   SqlConnection con=new SqlConnection("server=.;database=pubs;uid=sa;pwd=;");//数据库连接对?br />                   con.Open();                
                   string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+fPath+"';Extended Properties=Excel 8.0";
                OleDbConnection cnnxls 
= new OleDbConnection (mystring);
                OleDbDataAdapter myDa 
=new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
                DataSet myDs 
=new DataSet();
                myDa.Fill(myDs);
                
if(myDs.Tables[0].Rows.Count > 0)
                
{
                    
string strSql = "";
                    
string CnnString="Provider=SQLOLEDB;database=pubs;server=.;uid=sa;pwd=";
                    OleDbConnection conn 
=new OleDbConnection(CnnString);
                    conn.Open ();
                    OleDbCommand myCmd 
=null;                    
                    
for(int i=0; i<myDs.Tables[0].Rows.Count;i++)//W一个工作表中行敎ͼ不包括第一行,
                    {
                        
strSql="insert into txtInsert(id,name) values (";
                        strSql 
+= myDs.Tables[0].Rows[i].ItemArray[0].ToString() + ", '";
                        strSql 
+= myDs.Tables[0].Rows[i].ItemArray[1].ToString() + "')";
                        myCmd
=new OleDbCommand(strSql,conn);
                        
try
                        
{                            
                            myCmd.ExecuteNonQuery();                                                        
                            Response.Write(
"<script language=javascript>alert('数据导入成功!')</script>");
                        }

                        
catch (OleDbException err)
                        
{                                                       
                            Response.Write(
"导入数据库时出错Q?/span>" +err.ToString());
                            
break;
                        }

                    }

                    conn.Close();
其他部分代码自己加吧Q这里就是出错失误回滚有点不好处理,请高手指教!Q?/span>


]]>SQL Server 2005 2208 xp_cmdshell存储q程 默认用了,用下面的语句可以打开和禁用?/title><link>http://www.shnenglu.com/niewenlong/archive/2013/03/07/198268.html</link><dc:creator>聂文?/dc:creator><author>聂文?/author><pubDate>Thu, 07 Mar 2013 08:00:00 GMT</pubDate><guid>http://www.shnenglu.com/niewenlong/archive/2013/03/07/198268.html</guid><wfw:comment>http://www.shnenglu.com/niewenlong/comments/198268.html</wfw:comment><comments>http://www.shnenglu.com/niewenlong/archive/2013/03/07/198268.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/niewenlong/comments/commentRss/198268.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/niewenlong/services/trackbacks/198268.html</trackback:ping><description><![CDATA[<div style="margin: 20px 0px 26px; line-height: 2; color: #333333; font-family: Arial, SimSun, Tahoma; background-color: #ffffff;"><p style="padding: 0px; margin: 18px 0px;"><span style="line-height: 2; padding: 0px; margin: 0px; color: #008080;">--</span><span style="line-height: 2; padding: 0px; margin: 0px; color: #008080;">SQL语句开xp_cmdshell</span></p><p style="padding: 0px; margin: 18px 0px;"><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To allow advanced options to be changed.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">EXEC</span><span style="padding: 0px; margin: 0px; color: #000000;"> sp_configure </span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #ff0000;">show advanced options</span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #000000;">, </span><span style="padding: 0px; margin: 0px; color: #800000; font-weight: bold;">1</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To update the currently configured value for advanced options.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">RECONFIGURE</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To enable the feature.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">EXEC</span><span style="padding: 0px; margin: 0px; color: #000000;"> sp_configure </span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #ff0000;">xp_cmdshell</span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #000000;">, </span><span style="padding: 0px; margin: 0px; color: #800000; font-weight: bold;">1</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To update the currently configured value for this feature.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">RECONFIGURE</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To disallow advanced options to be changed.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">EXEC</span><span style="padding: 0px; margin: 0px; color: #000000;"> sp_configure </span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #ff0000;">show advanced options</span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #000000;">, </span><span style="padding: 0px; margin: 0px; color: #800000; font-weight: bold;">0</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To update the currently configured value for advanced options.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">RECONFIGURE</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;">如果要禁用,</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To allow advanced options to be changed.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">EXEC</span><span style="padding: 0px; margin: 0px; color: #000000;"> sp_configure </span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #ff0000;">show advanced options</span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #000000;">, </span><span style="padding: 0px; margin: 0px; color: #800000; font-weight: bold;">1</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To update the currently configured value for advanced options.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">RECONFIGURE</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To disable the feature.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">EXEC</span><span style="padding: 0px; margin: 0px; color: #000000;"> sp_configure </span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #ff0000;">xp_cmdshell</span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #000000;">, </span><span style="padding: 0px; margin: 0px; color: #800000; font-weight: bold;">0</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To update the currently configured value for this feature.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">RECONFIGURE</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To disallow advanced options to be changed.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">EXEC</span><span style="padding: 0px; margin: 0px; color: #000000;"> sp_configure </span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #ff0000;">show advanced options</span><span style="padding: 0px; margin: 0px; color: #ff0000;">'</span><span style="padding: 0px; margin: 0px; color: #000000;">, </span><span style="padding: 0px; margin: 0px; color: #800000; font-weight: bold;">0</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #008080;">--</span><span style="padding: 0px; margin: 0px; color: #008080;"> To update the currently configured value for advanced options.</span><span style="padding: 0px; margin: 0px; color: #008080;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">RECONFIGURE</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span><span style="padding: 0px; margin: 0px; color: #0000ff;">GO</span><span style="padding: 0px; margin: 0px; color: #000000;"><br style="padding: 0px; margin: 0px;" /></span></p><p style="padding: 0px; margin: 18px 0px;"></p><p style="padding: 0px; margin: 18px 0px;"></p><div style="margin: 0px;"></div></div><div style="margin: 5px 0px 0px; clear: both; line-height: 2.2; color: #666666; height: 50px; font-family: Arial, SimSun, Tahoma; font-size: 12px; background-color: #ffffff;"><ul style="padding: 0px; margin: 0px; list-style: none; float: left; width: 550px;"></ul></div><img src ="http://www.shnenglu.com/niewenlong/aggbug/198268.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/niewenlong/" target="_blank">聂文?/a> 2013-03-07 16:00 <a href="http://www.shnenglu.com/niewenlong/archive/2013/03/07/198268.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[MySQL]查看用户权限与GRANT用法http://www.shnenglu.com/niewenlong/archive/2012/07/01/181052.html聂文?/dc:creator>聂文?/author>Sun, 01 Jul 2012 15:10:00 GMThttp://www.shnenglu.com/niewenlong/archive/2012/07/01/181052.htmlhttp://www.shnenglu.com/niewenlong/comments/181052.htmlhttp://www.shnenglu.com/niewenlong/archive/2012/07/01/181052.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/181052.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/181052.html查看用户权限

show grants for 你的用户

比如Q?br />show grants for root@'localhost';

Grant 用法

 

 

 

GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*C242DDD213BE9C6F8DA28D49245BF69FC79A86EB';
GRANT ALL PRIVILEGES ON `discuz`.* TO 'discuz'@'localhost';

我先按我的理解解释一下上面两句的意?br />建立一个只可以在本地登陆的 不能操作的用用户?discuz 密码?***** 已经加密了的
然后W二句的意思是 Q给q个discuz用户操作discuz数据库的所有权?/p>

使用GRANT

GRANT命o用来建立新用P指定用户口oq增加用h限。其格式如下Q?/p>

mysql> GRANT <privileges> ON <what>
-> TO <user> [IDENTIFIED BY "<password>"]
-> [WITH GRANT OPTION];


  正如你看到的Q在q个命o中有许多待填的内宏V让我们逐一地对它们q行介绍Qƈ最l给Z些例子以让你对它们的协同工作有一个了解?/p>

  <privileges>是一个用逗号分隔的你惌赋予的权限的列表。你可以指定的权限可以分ZU类型:

  数据?数据?数据列权限: Alter: 修改已存在的数据?例如增加/删除?和烦引?br />Create: 建立新的数据库或数据表?br />Delete: 删除表的记录?br />Drop: 删除数据表或数据库?br />INDEX: 建立或删除烦引?br />Insert: 增加表的记录?br />Select: 昄/搜烦表的记录?br />Update: 修改表中已存在的记录?/p>

  全局理权限Q?/p>

file: 在MySQL服务器上d文g?br />PROCESS: 昄或杀d于其它用L服务U程?br />RELOAD: 重蝲讉K控制表,h日志{?br />SHUTDOWN: 关闭MySQL服务?/p>

  特别的权限:

ALL: 允许做Q何事(和root一??br />USAGE: 只允许登?-其它什么也不允许做?/p>


  q些权限所涉及到的MySQL的特征,其中的一些我们至今还没看刎ͼ而其中的l大部分是你所熟?zhn)的?/p>

<what> 定义了这些权限所作用的区域?.*意味着权限Ҏ(gu)有数据库和数据表有效。dbName.*意味着对名为dbName的数据库中的所有数据表有效?dbName.tblName意味着仅对名ؓdbName中的名ؓtblName的数据表有效。你甚至q可以通过在赋予的权限后面使用圆括号中的数据列的列表以指定权限仅对q些列有?在后面我们将看到q样的例??/p>

  <user>指定可以应用q些权限的用戗在MySQL中,一个用户通过它登录的用户名和用户使用的计机的主机名/IP地址来指定。这两个值都可以使用%通配W?例如kevin@%允怋用用户名kevin从Q何机器上d以n有你指定的权??/p>

  <password>指定了用戯接MySQL服务所用的口o。它被用Ҏ(gu)hP说明IDENTIFIED BY "<password>"在GRANT命o中是可选项。这里指定的口o会取代用户原来的密码。如果没有ؓ一个新用户指定口oQ当他进行连接时׃需要口令?/p>

q个命o中可选的WITH GRANT OPTION部分指定了用户可以用GRANT/REVOKE命o他拥有的权限赋予其他用戗请心使用q项功能--虽然q个问题可能不是那么明显Q例如,两个都拥有这个功能的用户可能会相互共享他们的权限Q这也许不是你当初想看到的?/p>

  让我们来看两个例子。徏立一个名为dbmanager的用P他可以用口令managedb从server.host.netq接 MySQLQƈ仅仅可以讉K名ؓdb的数据库的全部内?q可以将此权限赋予其他用?Q这可以使用下面的GRANT命oQ?/p>

mysql> GRANT ALL ON db.*
-> TO dbmanager@server.host.net
-> IDENTIFIED BY "managedb"
-> WITH GRANT OPTION;


现在改变q个用户的口令ؓfunkychickenQ命令格式如下:
   mysql> GRANT USAGE ON *.*
   -> TO dbmanager@server.host.net
   -> IDENTIFIED BY "funkychicken";

h意我们没有赋予Q何另外的权限(the USAGE权限只能允许用户d)Q但是用户已l存在的权限不会被改变?/p>

  现在让我们徏立一个新的名为jessica的用P他可以从host.net域的L机器q接到MySQL。他可以更新数据库中用户的姓名和 email地址Q但是不需要查阅其它数据库的信息。也是说他对db数据库具有只ȝ权限(例如QSelect)Q但是他可以对Users表的name列和email列执行Update操作。命令如下:

mysql> GRANT Select ON db.*
-> TO jessica@%.host.net
-> IDENTIFIED BY "jessrules";
mysql> GRANT Update (name,email) ON db.Users
-> TO jessica@%.host.net;


  h意在W一个命令中我们在指定Jessica可以用来q接的主机名时用了%(通配W?W号。此外,我们也没有给他向其他用户传递他的权限的能力Q因为我们在命o的最后没有带上WITH GRANT OPTION。第二个命oC了如何通过在赋予的权限后面的圆括号中用逗号分隔的列的列表对特定的数据列赋予权限?/p>

]]>
安装 MySQL 5.0 http://www.shnenglu.com/niewenlong/archive/2009/01/11/71695.html聂文?/dc:creator>聂文?/author>Sat, 10 Jan 2009 18:14:00 GMThttp://www.shnenglu.com/niewenlong/archive/2009/01/11/71695.htmlhttp://www.shnenglu.com/niewenlong/comments/71695.htmlhttp://www.shnenglu.com/niewenlong/archive/2009/01/11/71695.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/71695.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/71695.html1、直接apt-get 安装Q?
apt-get install mysql-server-5.0

2、安装启动后出现错误信息Q(中文Q?br>
* Stopping MySQL database server mysqld [ OK ]
安装mysql 时出C列错误,h高手Q?br>
* Starting MySQL database server mysqld [fail]
invoke
-rc.d: initscript mysql, action "start" failed.
dpkgQ处?nbsp;mysql
-server-5.0 (--configure)时出错:
子进E?nbsp;post-installation script q回了错误号 1
dpkgQ依赖关p问题?nbsp;mysql
-server 的配|工作不能l:
mysql
-server 依赖?nbsp;mysql-server-5.0Q然而:
软g?nbsp;mysql
-server-5.0 q没有被配置?br>dpkgQ处?nbsp;mysql-server (--configure)时出错:
依赖关系问题 - 仍未被配|?br>Processing triggers for libc6 
ldconfig deferred processing now taking place
在处理时有错误发生:
mysql
-server-5.0
mysql
-server
E: Sub
-process /usr/bin/dpkg returned an error code (1)

英文错误信息是:
invoke-rc.d: initscript apparmor, action "force-reload" failed.
* Starting MySQL database server mysqld
fail
!
invoke
-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql
-server-5.0 (--configure):
subprocess post
-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql
-server:
mysql
-server depends on mysql-server-5.0; however:
Package mysql
-server-5.0 is not configured yet.
dpkg: error processing mysql
-server (--configure):
dependency problems 
- leaving unconfigured
Errors were encountered 
while processing:
mysql
-server-5.0
mysql
-server
E: Sub
-process /usr/bin/dpkg returned an error code (1)
出现错误的原因是我修改了ubuntu的默认网l设|(/etc/network/interfaces Q?/span>Q删除了ubuntu?span class=postbody>loopback接口Q我的解x法如下:
ubuntu原来默认讄Q?/span>
auto lo
iface lo inet loopback
被我修改成静态ipQ?br>
auto eth0
iface eth0 inet static
address 
10.100.24.31
netmask 
255.255.255.0
gateway 
10.100.24.254
上面两部分合v来就可以增加一个Loopback接口
auto eth0
iface eth0 inet static
address 
10.100.24.31
netmask 
255.255.255.0
gateway 
10.100.24.254

auto lo
iface lo inet loopback 
重启pȝQ这时再安装mysql-serverok了~

3、允许其他机器连接、访问到数据库:
修改文g /etc/mysql/my.cnfQ将
bind-address=127.0.0.1
改ؓ
bind-address=0.0.0.0
q样允许所有ip讉K数据?br>
参考资料:http://forum.ubuntu.org.cn/viewtopic.php?p=757703
 http://blog.csdn.net/redvalley/archive/2008/04/27/2333702.aspx
问题2也可以参考一?a >q里的方法,g更简单,也不用改动network讄Q不q不知可不可以,没验证过~


]]>mysql数据文g破坏后的修复Ҏ(gu)http://www.shnenglu.com/niewenlong/archive/2008/08/19/59336.html聂文?/dc:creator>聂文?/author>Tue, 19 Aug 2008 05:57:00 GMThttp://www.shnenglu.com/niewenlong/archive/2008/08/19/59336.htmlhttp://www.shnenglu.com/niewenlong/comments/59336.htmlhttp://www.shnenglu.com/niewenlong/archive/2008/08/19/59336.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/59336.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/59336.html׃临时断电Q?span>kill -9中止MySQL服务q程Q所有的q些都可能会毁坏MySQL的数据文件。如果在被干扰时Q服务正在改变文Ӟ文g可能会留下错误的或不一致的状态。因L毁坏有时是不Ҏ(gu)被发现的Q当你发现这个错误时可能是很久以后的事了。于是,当你发现q个问题Ӟ也许所有的备䆾都有同样的错误?span> 

MySQL参考手册的W十五章讲述?span>MySQL自带?span>myisamchk的功能,以及如何使用它检查和修复你的MySQL数据文g。虽然这一章对于每个想要搭Z个强壮的MySQL服务的h都是推荐阅读的,我们q是有必要在q里对其中的要点q行讨论?span>

在我们l之前,你必L识到myisamchkE序对用来检查和修改?span>MySQL数据文g的访问应该是唯一的。如?span>MySQL服务正在使用某一文gQƈ?span>myisamchk正在查的文gq行修改Q?span>myisamchk会误以ؓ发生了错误,q会试图q行修复--q将DMySQL服务的崩溃!q样Q要避免q种情况的发生,通常我们需要在工作时关?span>MySQL服务。作为选择Q你也可以暂时关闭服务以制作一个文件的拯Q然后在q个拯上工作。当你做完了以后Q重新关闭服务ƈ使用新的文g取代原来的文?span>(也许你还需要用期间的变更日志)?span>
MySQL数据目录不是太难理解的。每一个数据库对应一个子目录Q每个子目录中包含了对应于这个数据库中的数据表的文g。每一个数据表对应三个文gQ它们和表名相同Q但是具有不同的扩展名?span>tblName.frm文g是表的定义,它保存了表中包含的数据列的内容和cd?span>tblName.MYD文g包含了表中的数据?span>tblName.MYI文g包含了表的烦?span>(例如Q它可能包含lookup表以帮助提高对表的主键列的查?span>)?span>

要检查一个表的错误,只需要运?span>myisamchk(?span>MySQL?span>bin目录?span>)q提供文件的位置和表名,或者是表的索引文g名: myisamchk /usr/local/mysql/var/dbName/tblName
 myisamchk /usr/local/mysql/var/dbName/tblName.MYI


上面的两个命令都可以执行Ҏ(gu)定表的检查。要查数据库中所有的表,可以使用通配W: myisamchk /usr/local/mysql/var/dbName/*.MYI 
要检查所有数据库中的所有表Q可以用两个通配W: myisamchk /usr/local/mysql/var/*/*.MYI 
如果不带M选项Q?span>myisamchk对表文件执行普通的查。如果你对一个表有怀疑,但是普通的查不能发CQ何错误,你可以执行更d的检?span>(但是也更慢!)Q这需要?span>--extend-check选项Q?span>
  myisamchk --extend-check /path/to/tblName


寚w误的查是没有破坏性的Q这意味着你不必担心执行对你的数据文g的检查会使已l存在的问题变得更糟。另一斚wQ修复选项Q虽焉常也是安全的,但是它对你的数据文g的更Ҏ(gu)无法撤消的。因个原因,我们强烈推荐你试图修复一个被破坏的表文g旉先做个备份,q确保在制作q个备䆾之前你的MySQL服务是关闭的?span>

当你试图修复一个被破坏的表的问题时Q有三种修复cd。如果你得到一个错误信息指Z个时文件不能徏立,删除信息所指出的文件ƈ再试一?span>--q通常是上一ơ修复操作遗留下来的?span>
q三U修复方法如下所C:

 myisamchk --recover --quick /path/to/tblName
 myisamchk --recover /path/to/tblName
 myisamchk --safe-recover /path/to/tblName
 

W一U是最快的Q用来修复最普通的问题Q而最后一U是最慢的Q用来修复一些其它方法所不能修复的问题?span>

查和修复MySQL数据文g
如果上面的方法无法修复一个被损坏的表Q在你放弃之前,你还可以试试下面q两个技巧:
如果你怀疑表的烦引文?span>(*.MYI)发生了不可修复的错误Q甚x丢失了这个文Ӟ你可以用数据文?span>(*.MYD)和数据格式文?span>(*.frm)重新生成它。首先制作一个数据文?span>(tblName.MYD)的拷贝。重启你?span>MySQL服务q连接到q个服务上,使用下面的命令删除表的内容: 
mysql DELETE FROM tblName;
在删除表的内容的同时Q会建立一个新的烦引文件。退出登录ƈ重新关闭服务Q然后用你刚才保存的数据文g(tblName.MYD)覆盖新的(I?span>)数据文g。最后,使用myisamchk执行标准的修?span>(上面的第二种Ҏ(gu))Q根据表的数据的内容和表的格式文仉新生成烦引数据?span>

如果你的表的格式文g(tblName.frm)丢失了或者是发生了不可修复的错误Q但是你清楚如何使用相应?span>CREATE TABLE语句来重新生成这张表Q你可以重新生成一个新?span>.frm文gq和你的数据文g和烦引文?span>(如果索引文g有问题,使用上面的方法重Z个新?span>)一起用。首先制作一个数据和索引文g的拷贝,然后删除原来的文?span>(删除数据目录下有兌个表的所有记?span>)?span>

启动MySQL服务q用当初的CREATE TABLE文g建立一个新的表。新?span>.frm文g应该可以正常工作了,但是最好你q是执行一下标准的修复(上面的第二种Ҏ(gu))?/span>


 


可以使用mysql语句,?CHECK TABLE $table;   //其中$table代表数据表的名字Q检表是否损坏Q如果损坏可以REPAIR TABLE $table 来修复,如果一ơ不行,可以多修复几ơ!

如果使用WIN服务?可以先登陆DB服务器,q入此\径,不用qmysql?br>D:\CD MYSQL

D:\mysql>CD BIN

D:\mysql\bin>MYISAMCHK -r d:\mysql\data\guild\msg_table.myi(msg_table)
- check key delete-chain
- check record delete-chain
- recovering (with sort) MyISAM-table 'd:\mysql\data\guild\msg_table.myi'
Data records: 23
- Fixing index 1


D:\mysql\bin>MYISAMCHK --safe-recover d:\mysql\data\guild\msg_table.myi
- recovering (with keycache) MyISAM-table 'd:\mysql\data\guild\msg_table.myi'
Data records: 89

D:\mysql\bin>

当不知道哪个表坏了,可以q入mysql数据?
use guild;
desc msg_table; 看msg_table有没有坏

修复好了q入MYSQL数据库中打命令检查:show table;


 

 



]]>
Mysql日期和时间函C求hhttp://www.shnenglu.com/niewenlong/archive/2008/08/15/58900.html聂文?/dc:creator>聂文?/author>Thu, 14 Aug 2008 16:28:00 GMThttp://www.shnenglu.com/niewenlong/archive/2008/08/15/58900.htmlhttp://www.shnenglu.com/niewenlong/comments/58900.htmlhttp://www.shnenglu.com/niewenlong/archive/2008/08/15/58900.html#Feedback1http://www.shnenglu.com/niewenlong/comments/commentRss/58900.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/58900.html对于每个cd拥有的D围以及ƈ且指定日期何旉值的有效格式的描q见7.3.6 日期和时间类型?nbsp;

q里是一个用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最?0天以内: 

mysql> SELECT something FROM table 
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; 

DAYOFWEEK(date) 
q回日期date的星期烦?1=星期天,2=星期一, ……7=星期?。这些烦引值对应于ODBC标准?nbsp;
mysql> select DAYOFWEEK('1998-02-03'); 
-> 3 

WEEKDAY(date) 
q回date的星期烦?0=星期一Q?=星期? ……6= 星期??nbsp;
mysql> select WEEKDAY('1997-10-04 22:23:00'); 
-> 5 
mysql> select WEEKDAY('1997-11-05'); 
-> 2 

DAYOFMONTH(date) 
q回date的月份中日期Q在1?1范围内?nbsp;
mysql> select DAYOFMONTH('1998-02-03'); 
-> 3 

DAYOFYEAR(date) 
q回date在一q中的日? ??66范围内?nbsp;
mysql> select DAYOFYEAR('1998-02-03'); 
-> 34 

MONTH(date) 
q回date的月份,范围1?2?nbsp;
mysql> select MONTH('1998-02-03'); 
-> 2 

DAYNAME(date) 
q回date的星期名字?nbsp;
mysql> select DAYNAME("1998-02-05"); 
-> 'Thursday' 

MONTHNAME(date) 
q回date的月份名字?nbsp;
mysql> select MONTHNAME("1998-02-05"); 
-> 'February' 

QUARTER(date) 
q回date一q中的季度,范围1??nbsp;
mysql> select QUARTER('98-04-01'); 
-> 2 

WEEK(date) 
  
WEEK(date,first) 
对于星期天是一周的W一天的地方Q有一个单个参敎ͼq回date的周敎ͼ范围??2?个参数Ş式WEEK()允许
你指定星期是否开始于星期天或星期一。如果第二个参数?Q星期从星期天开始,如果W二个参数是1Q?
从星期一开始?nbsp;
mysql> select WEEK('1998-02-20'); 
-> 7 
mysql> select WEEK('1998-02-20',0); 
-> 7 
mysql> select WEEK('1998-02-20',1); 
-> 8 

YEAR(date) 
q回date的年份,范围?000?999?nbsp;
mysql> select YEAR('98-02-03'); 
-> 1998 

HOUR(time) 
q回time的小Ӟ范围??3?nbsp;
mysql> select HOUR('10:05:03'); 
-> 10 

MINUTE(time) 
q回time的分钟,范围??9?nbsp;
mysql> select MINUTE('98-02-03 10:05:03'); 
-> 5 

SECOND(time) 
回来time的秒敎ͼ范围??9?nbsp;
mysql> select SECOND('10:05:03'); 
-> 3 

PERIOD_ADD(P,N) 
增加N个月到阶DPQ以格式YYMM或YYYYMM)。以格式YYYYMMq回倹{注意阶D参数P不是日期倹{?nbsp;
mysql> select PERIOD_ADD(9801,2); 
-> 199803 

PERIOD_DIFF(P1,P2) 
q回在时期P1和P2之间月数QP1和P2应该以格式YYMM或YYYYMM。注意,时期参数P1和P2不是日期倹{?nbsp;
mysql> select PERIOD_DIFF(9802,199703); 
-> 11 

DATE_ADD(date,INTERVAL expr type) 
  
DATE_SUB(date,INTERVAL expr type) 
  
ADDDATE(date,INTERVAL expr type) 
  
SUBDATE(date,INTERVAL expr type) 
q些功能执行日期q算。对于MySQL 3.22Q他们是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同义词?
在MySQL 3.23中,你可以??而不是DATE_ADD()和DATE_SUB()。(见例子)date是一个指定开始日期的
DATETIME或DATE|expr是指定加到开始日期或从开始日期减ȝ间隔g个表辑ּQexpr是一个字W串Q它可以?
一?#8220;-”开始表C间隔。type是一个关键词Q指明表辑ּ应该如何被解释。EXTRACT(type FROM date)函数从日?
中返?#8220;type”间隔。下表显CZtype和expr参数怎样被关联: type?含义 期望的expr格式 
SECOND U?SECONDS 
MINUTE 分钟 MINUTES 
HOUR 旉 HOURS 
DAY ?DAYS 
MONTH ?MONTHS 
YEAR q?YEARS 
MINUTE_SECOND 分钟和秒 "MINUTES:SECONDS" 
HOUR_MINUTE 时和分?"HOURS:MINUTES" 
DAY_HOUR 天和时 "DAYS HOURS" 
YEAR_MONTH q和?"YEARS-MONTHS" 
HOUR_SECOND 时, 分钟Q?"HOURS:MINUTES:SECONDS" 
DAY_MINUTE ? 时, 分钟 "DAYS HOURS:MINUTES" 
DAY_SECOND ? 时, 分钟, U?"DAYS HOURS:MINUTES:SECONDS" 

MySQL在expr格式中允怓Q何标点分隔符。表C显C的是徏议的分隔W。如果date参数是一个DATE值ƈ且你的计仅?
包含YEAR、MONTH和DAY部分(卻I没有旉部分)Q结果是一个DATE倹{否则结果是一个DATETIME倹{?nbsp;

mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND; 
-> 1998-01-01 00:00:00 
mysql> SELECT INTERVAL 1 DAY + "1997-12-31"; 
-> 1998-01-01 
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND; 
-> 1997-12-31 23:59:59 
mysql> SELECT DATE_ADD("1997-12-31 23:59:59", 
INTERVAL 1 SECOND); 
-> 1998-01-01 00:00:00 
mysql> SELECT DATE_ADD("1997-12-31 23:59:59", 
INTERVAL 1 DAY); 
-> 1998-01-01 23:59:59 
mysql> SELECT DATE_ADD("1997-12-31 23:59:59", 
INTERVAL "1:1" MINUTE_SECOND); 
-> 1998-01-01 00:01:00 
mysql> SELECT DATE_SUB("1998-01-01 00:00:00", 
INTERVAL "1 1:1:1" DAY_SECOND); 
-> 1997-12-30 22:58:59 
mysql> SELECT DATE_ADD("1998-01-01 00:00:00", 
INTERVAL "-1 10" DAY_HOUR); 
-> 1997-12-30 14:00:00 
mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY); 
-> 1997-12-02 
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02"); 
-> 1999 
mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03"); 
-> 199907 
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03"); 
-> 20102 

如果你指定太短的间隔?不包括type关键词期望的间隔部分)QMySQL假设你省掉了间隔值的最左面部分。例如,
如果你指定一个type是DAY_SECONDQ值expr被希望有天、小时、分钟和U部分。如果你?1:10"q样指定|
MySQL假设日子和小旉分是丢失的ƈ且g表分钟和U。换句话_"1:10" DAY_SECOND以它{h(hun)?1:10" MINUTE_SECOND
的方式解释,q对那MySQL解释TIMEDC经q的旉而非作ؓ一天的旉的方式有二义性。如果你使用实不正的日期Q?
l果是NULL。如果你增加MONTH、YEAR_MONTH或YEARq且l果日期大于新月份的最大值天敎ͼ日子在新月用最大的天调整?nbsp;

mysql> select DATE_ADD('1998-01-30', Interval 1 month); 
-> 1998-02-28 

注意Q从前面的例子中词INTERVAL和type关键词不是区分大写的?nbsp;
TO_DAYS(date) 
l出一个日期dateQ返回一个天??q的天数)?nbsp;
mysql> select TO_DAYS(950501); 
-> 728779 
mysql> select TO_DAYS('1997-10-07'); 
-> 729669 

TO_DAYS()不打用于用格列高里历(1582)出现前的倹{?nbsp;

FROM_DAYS(N) 
l出一个天数NQ返回一个DATE倹{?nbsp;
mysql> select FROM_DAYS(729669); 
-> '1997-10-07' 

TO_DAYS()不打用于用格列高里历(1582)出现前的倹{?nbsp;

DATE_FORMAT(date,format) 
Ҏ(gu)format字符串格式化date倹{下列修饰符可以被用在format字符串中Q?%M 月名?January……December) 
%W 星期名字(Sunday……Saturday) 
%D 有英语前~的月份的日期(1st, 2nd, 3rd, {等。) 
%Y q? 数字, 4 ?nbsp;
%y q? 数字, 2 ?nbsp;
%a ~写的星期名?Sun……Sat) 
%d 月䆾中的天数, 数字(00……31) 
%e 月䆾中的天数, 数字(0……31) 
%m ? 数字(01……12) 
%c ? 数字(1……12) 
%b ~写的月份名?Jan……Dec) 
%j 一q中的天?001……366) 
%H 时(00……23) 
%k 时(0……23) 
%h 时(01……12) 
%I 时(01……12) 
%l 时(1……12) 
%i 分钟, 数字(00……59) 
%r 旉,12 时(hh:mm:ss [AP]M) 
%T 旉,24 时(hh:mm:ss) 
%S U?00……59) 
%s U?00……59) 
%p AM或PM 
%w 一个星期中的天?0=Sunday ……6=Saturday Q?nbsp;
%U 星期(0……52), q里星期天是星期的第一?nbsp;
%u 星期(0……52), q里星期一是星期的W一?nbsp;
%% 一个文?#8220;%”?nbsp;

所有的其他字符不做解释被复制到l果中?nbsp;

mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y'); 
-> 'Saturday October 1997' 
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s'); 
-> '22:23:00' 
mysql> select DATE_FORMAT('1997-10-04 22:23:00', 
'%D %y %a %d %m %b %j'); 
-> '4th 97 Sat 04 10 Oct 277' 
mysql> select DATE_FORMAT('1997-10-04 22:23:00', 
'%H %k %I %r %T %S %w'); 
-> '22 22 10 10:23:00 PM 22:23:00 00 6' 
MySQL3.23中,在格式修饰符字符前需?。在MySQL更早的版本中Q?是可选的?nbsp;

TIME_FORMAT(time,format) 
q象上面的DATE_FORMAT()函数一样用,但是format字符串只能包含处理小时、分钟和U的那些格式修饰W?
其他修饰W生一个NULL值或0?nbsp;
CURDATE() 
  
CURRENT_DATE 
?YYYY-MM-DD'或YYYYMMDD格式q回今天日期|取决于函数是在一个字W串q是数字上下文被使用?nbsp;
mysql> select CURDATE(); 
-> '1997-12-15' 
mysql> select CURDATE() + 0; 
-> 19971215 

CURTIME() 
  
CURRENT_TIME 
?HH:MM:SS'或HHMMSS格式q回当前旉|取决于函数是在一个字W串q是在数字的上下文被使用?nbsp;
mysql> select CURTIME(); 
-> '23:50:26' 
mysql> select CURTIME() + 0; 
-> 235026 

NOW() 
  
SYSDATE() 
  
CURRENT_TIMESTAMP 
?YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式q回当前的日期和旉Q取决于函数是在一个字W串q是在数字的
上下文被使用?nbsp;
mysql> select NOW(); 
-> '1997-12-15 23:50:26' 
mysql> select NOW() + 0; 
-> 19971215235026 

UNIX_TIMESTAMP() 
  
UNIX_TIMESTAMP(date) 
如果没有参数调用Q返回一个Unix旉戌(?1970-01-01 00:00:00'GMT开始的U数)。如果UNIX_TIMESTAMP()用一
个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的U数倹{date可以是一个DATE字符丌Ӏ一个DATETIME
字符丌Ӏ一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字?nbsp;
mysql> select UNIX_TIMESTAMP(); 
-> 882226357 
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00'); 
-> 875996580 

当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数直接接受|没有隐含?#8220;string-to-unix-timestamp”变换?nbsp;

FROM_UNIXTIME(unix_timestamp) 
?YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式q回unix_timestamp参数所表示的|取决于函数是在一个字W串
q是或数字上下文中被使用?nbsp;
mysql> select FROM_UNIXTIME(875996580); 
-> '1997-10-04 22:23:00' 
mysql> select FROM_UNIXTIME(875996580) + 0; 
-> 19971004222300 

FROM_UNIXTIME(unix_timestamp,format) 
q回表示 Unix 旉标记的一个字W串Q根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条
目同L修饰W?nbsp;
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(), 
'%Y %D %M %h:%i:%s %x'); 
-> '1997 23rd December 03:43:30 x' 

SEC_TO_TIME(seconds) 
q回seconds参数Q变换成时、分钟和U,g'HH:MM:SS'或HHMMSS格式化,取决于函数是在一个字W串q是在数?
上下文中被用?nbsp;
mysql> select SEC_TO_TIME(2378); 
-> '00:39:38' 
mysql> select SEC_TO_TIME(2378) + 0; 
-> 3938 

TIME_TO_SEC(time) 
q回time参数Q{换成U?nbsp;
mysql> select TIME_TO_SEC('22:23:00'); 
-> 80580 
mysql> select TIME_TO_SEC('00:39:38'); 
-> 2378

 



]]>
如何导出mysql 数据l构http://www.shnenglu.com/niewenlong/archive/2008/07/02/55119.html聂文?/dc:creator>聂文?/author>Wed, 02 Jul 2008 02:36:00 GMThttp://www.shnenglu.com/niewenlong/archive/2008/07/02/55119.htmlhttp://www.shnenglu.com/niewenlong/comments/55119.htmlhttp://www.shnenglu.com/niewenlong/archive/2008/07/02/55119.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/55119.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/55119.htmldatabaseStr.sql
-d Q只要结?
-p Q输入密?
-uroot : 用户为root
database>databaseStr.sql 把database 数据库的l构生成为文? databaseStr.sql  阅读全文

]]>
清除 I格.http://www.shnenglu.com/niewenlong/archive/2007/09/03/31450.html聂文?/dc:creator>聂文?/author>Mon, 03 Sep 2007 03:35:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/09/03/31450.htmlhttp://www.shnenglu.com/niewenlong/comments/31450.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/09/03/31450.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/31450.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/31450.html         update  tablename set   字段?ltrim(rtrim(字段?)

        Update tablename Set 字段?Replace(字段?' ','') 

        replace('字段,char(13)+char(10),'')



]]>
XP下安装SQL2000企业版本http://www.shnenglu.com/niewenlong/archive/2007/09/03/31443.html聂文?/dc:creator>聂文?/author>Mon, 03 Sep 2007 02:12:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/09/03/31443.htmlhttp://www.shnenglu.com/niewenlong/comments/31443.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/09/03/31443.html#Feedback1http://www.shnenglu.com/niewenlong/comments/commentRss/31443.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/31443.htmlSQL2000企业版本适用于WIN 2000pȝQ?003pȝ和XP一般装不了需要选用个h版,当然如果你在不清楚的前提下辛辛苦苦下载了企业版本却不能安装,是不是很失望呢?q里介绍一个XP下安装装SQL2000企业版本Ҏ(gu)以供参考~

办法如下Q?br>
  一Q在SQL服务器的安装盘中扑ֈMSDEq个目录Qƈ且点击setup.exe安装它,q程单直接下一步就QO了?br>
  ? 重启pȝWINDOWSXP,q下可以看到SQL服务的图标出C?br>
     ? 再拿出SQL服务器版的安装光盘,直接安装客户端工Pq个不要多说吧?最单的Ҏ(gu)是直接点击光盘根目录下的autorun.exe)

Ҏ(gu)提示安装Q自q程中知道系l不是SERVER版,会提C只安装客户端工兗(哈哈Q服务端我已有了Q?br>
     ? 打开企业理器,试用SA用户q一下看看,是不是发现SA用户登陆p|Q因Zq没有与信QSQL SERVERq接相关联。还好这个只要对pȝ注册表稍加修改就可以啦:

     在运行中输入regedit打开注册表编辑器Q找到[HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER]Q这个项里面

有一个键值LoginModeQ默认下Q值是1Q现在将值改?Q重启电脑?br>
    ? 再打开企业理Q再q接试试Q是不是OK了!


]]>
ascent wowhttp://www.shnenglu.com/niewenlong/archive/2007/08/23/30710.html聂文?/dc:creator>聂文?/author>Thu, 23 Aug 2007 14:55:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/08/23/30710.htmlhttp://www.shnenglu.com/niewenlong/comments/30710.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/08/23/30710.html#Feedback15http://www.shnenglu.com/niewenlong/comments/commentRss/30710.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/30710.htmlascent.creature_names.creature_name = onewowrc1.creature_names.creature_name ,
ascent.creature_names.subname = onewowrc1.creature_names.subname
where ascent.creature_names.entry = onewowrc1.creature_names.entry



update ascent.gameobject_names,onewowrc1.gameobject_names set
ascent.gameobject_names.name = onewowrc1.gameobject_names.name
where ascent.gameobject_names.entry = onewowrc1.gameobject_names.entry




update creature_proto set maxlevel=minlevel, maxhealth =minhealth where entry BETWEEN 100000 and 100044

]]>
mysql ~码http://www.shnenglu.com/niewenlong/archive/2007/08/23/30704.html聂文?/dc:creator>聂文?/author>Thu, 23 Aug 2007 14:15:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/08/23/30704.htmlhttp://www.shnenglu.com/niewenlong/comments/30704.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/08/23/30704.html#Feedback2http://www.shnenglu.com/niewenlong/comments/commentRss/30704.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/30704.htmldefault-character-set=utf8

2 单独讄某个数据库:
alter database testdb character set utf8;

查看mysql支持的编码:
show character set;


]]>
updatehttp://www.shnenglu.com/niewenlong/archive/2007/06/16/26423.html聂文?/dc:creator>聂文?/author>Fri, 15 Jun 2007 21:37:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/06/16/26423.htmlhttp://www.shnenglu.com/niewenlong/comments/26423.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/06/16/26423.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/26423.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/26423.htmlSET [LEFT] = a.X1, [TOP] = a.Y1, [RIGHT] = a.X2, [bottom] = a.Y2
FROM ssiinfo b JOIN
      zonetriggers a ON a.zoneid = b.zoneid

]]>
在Linux下安装和使用MySQLhttp://www.shnenglu.com/niewenlong/archive/2007/06/07/25770.html聂文?/dc:creator>聂文?/author>Thu, 07 Jun 2007 14:03:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/06/07/25770.htmlhttp://www.shnenglu.com/niewenlong/comments/25770.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/06/07/25770.html#Feedback2http://www.shnenglu.com/niewenlong/comments/commentRss/25770.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/25770.html阅读全文

]]>
linux mysql使用说明http://www.shnenglu.com/niewenlong/archive/2007/06/07/25764.html聂文?/dc:creator>聂文?/author>Thu, 07 Jun 2007 12:31:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/06/07/25764.htmlhttp://www.shnenglu.com/niewenlong/comments/25764.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/06/07/25764.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/25764.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/25764.html阅读全文

]]>
[mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)http://www.shnenglu.com/niewenlong/archive/2007/06/07/25763.html聂文?/dc:creator>聂文?/author>Thu, 07 Jun 2007 12:27:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/06/07/25763.htmlhttp://www.shnenglu.com/niewenlong/comments/25763.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/06/07/25763.html#Feedback11http://www.shnenglu.com/niewenlong/comments/commentRss/25763.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/25763.html
没启动mysql的守护进E,执行service mysqld startp?nbsp; 阅读全文

]]>
SQLite 数据库加密的一U解x?/title><link>http://www.shnenglu.com/niewenlong/archive/2007/06/01/25263.html</link><dc:creator>聂文?/dc:creator><author>聂文?/author><pubDate>Fri, 01 Jun 2007 03:30:00 GMT</pubDate><guid>http://www.shnenglu.com/niewenlong/archive/2007/06/01/25263.html</guid><wfw:comment>http://www.shnenglu.com/niewenlong/comments/25263.html</wfw:comment><comments>http://www.shnenglu.com/niewenlong/archive/2007/06/01/25263.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/niewenlong/comments/commentRss/25263.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/niewenlong/services/trackbacks/25263.html</trackback:ping><description><![CDATA[     摘要: 其实SQLite的两个加密函C用v来非常的单,下面分情况说明: <br> <br>? l一个未加密的数据库d密码Q如果想要添加密码,则可以在打开数据库文件之后,关闭数据库文件之前的M时刻调用sqlite3_key函数卛_Q该函数有三个参敎ͼ其中W一个参Cؓ数据库对象,W二个参数是要设定的密码Q第三个是密码的长度。例如:sqlite3_key(db,"1q2w3e4r",8); //l数据库讑֮密码1q2w3e4r <br> <br>? d一个加密数据库中的数据Q完成这个Q务依然十分简单,你只需要在打开数据库之后,再次调用一下sqlite3_key函数卛_Q例如,但数据库密码?23456Ӟ你只需要在代码中加入sqlite3_key(db,"123456",6); <br> <br>? 更改数据库密码:首先你需要用当前的密码正确的打开数据库,之后你可以调用sqlite3_rekey(db,"112233",6) 来更Ҏ(gu)据库密码?<br> <br>? 删除密码Q也是把数据库恢复到明文状态。这时你仍然只需要调用sqlite3_  <a href='http://www.shnenglu.com/niewenlong/archive/2007/06/01/25263.html'>阅读全文</a><img src ="http://www.shnenglu.com/niewenlong/aggbug/25263.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/niewenlong/" target="_blank">聂文?/a> 2007-06-01 11:30 <a href="http://www.shnenglu.com/niewenlong/archive/2007/06/01/25263.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为SQLite数据库添加加密功?/title><link>http://www.shnenglu.com/niewenlong/archive/2007/06/01/25261.html</link><dc:creator>聂文?/dc:creator><author>聂文?/author><pubDate>Fri, 01 Jun 2007 03:27:00 GMT</pubDate><guid>http://www.shnenglu.com/niewenlong/archive/2007/06/01/25261.html</guid><wfw:comment>http://www.shnenglu.com/niewenlong/comments/25261.html</wfw:comment><comments>http://www.shnenglu.com/niewenlong/archive/2007/06/01/25261.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.shnenglu.com/niewenlong/comments/commentRss/25261.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/niewenlong/services/trackbacks/25261.html</trackback:ping><description><![CDATA[     摘要: SQLite是一个很好用的嵌入式数据库。可惜美中不的是SQLite的免费版本不具备加密功能。曾l在|上看到一个用WinCrypt实现加密功能的版本,但我不喜Ƣ太依赖于Windowsq_。这几日有时_自己qXXTEA法?SQLite3.3.7版本的基上实C加密功能。选择XXTEA主要是因个算法速度很快Q对性能造成的媄响相对较?yu)。顺便修改了|上传的XXTEA代码的一处内存越界的BUG?<br> 用SQLite的一般是单机版Y件比较多Q有加密需求的一定不,所以现在放出源代码与大家分享。代码的工程文g是用VC2005Q如果用其它~译器,~译的时候不要忘记加上SQLITE_HAS_CODEC宏。代码只是粗略测试过Q不保证100Q无BUG和逻辑错误?  <a href='http://www.shnenglu.com/niewenlong/archive/2007/06/01/25261.html'>阅读全文</a><img src ="http://www.shnenglu.com/niewenlong/aggbug/25261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/niewenlong/" target="_blank">聂文?/a> 2007-06-01 11:27 <a href="http://www.shnenglu.com/niewenlong/archive/2007/06/01/25261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Some other's blogshttp://www.shnenglu.com/niewenlong/archive/2007/06/01/25257.html聂文?/dc:creator>聂文?/author>Fri, 01 Jun 2007 02:53:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/06/01/25257.htmlhttp://www.shnenglu.com/niewenlong/comments/25257.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/06/01/25257.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/25257.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/25257.htmlhttp://blog.csdn.net/zieckey/category/198148.aspx

]]>
在Windows下编译sqlite3生成动态链接库q用之http://www.shnenglu.com/niewenlong/archive/2007/06/01/25256.html聂文?/dc:creator>聂文?/author>Fri, 01 Jun 2007 02:51:00 GMThttp://www.shnenglu.com/niewenlong/archive/2007/06/01/25256.htmlhttp://www.shnenglu.com/niewenlong/comments/25256.htmlhttp://www.shnenglu.com/niewenlong/archive/2007/06/01/25256.html#Feedback0http://www.shnenglu.com/niewenlong/comments/commentRss/25256.htmlhttp://www.shnenglu.com/niewenlong/services/trackbacks/25256.html2). 在接下来的对话框中选择"An empty DLL project",?FINISH->OK
3). 源码中所有的 *.c *.h *.def 复制到工E文件夹?
4). 在工E的Source File中添加你下蝲到的SQLite源文件中所?.c文gQ?
注意q里不要dshell.c和tclsqlite.cq两个文件?
5). ?SQLite 源文件中?sqlite3.def 文gd到在工程的Source File?
6). 在Header File中添加你下蝲到的SQLite源文件中所?.h文gQ?
7). 开始编?Build(F7)一?
  阅读全文

]]>
޹պŷۺϾþ| Ʒþþþþþ| Ʒþþ| ɫɫۺϾþҹҹ| þþƷѹۿ| һaƬþëƬ | ݺݸɺݺݾþ| ŮƷþþþ| ަvþþ| þþþƷ| vaþþþ| þþþþþ91Ʒѹۿ| ޹徫Ʒ߾þ| þ99žŹѿС˵| ھƷþþþӰԺ˾| 97þù¶Ʒ| ޳ɫWWWþվ| þ99Ʒ99þ6| þùƷ-þþƷ| 99þùһ| պӰþþñ| þ°Ҳȥ| ɫۺϾþþþۺһ| þþƷ˳| 91Ʒþþþþ| þ㽶߿ۿ| þԾƷ| ҹƷþþþþþ| ɫۺϾþ| þۺϾþۺ| 72ŷþþþôƽ| ݺۺϾþۺ88| þþƷԴվ| ձþþþþĻ| ˾þô߽鶹| 2021ٸþþþþþþþ| þþþþһƷ| ھƷþþþþ99| þþþavëƬ| 97rþþƷ99| þóСƵ|