燕之庐网站建设 - 优质网站设计公司

Archive for 3月 5th, 2010

MYSQL

2010/03/05

mysql命令行常用命令

Tags:

mysql命令行常用命令

第一招、mysql服务的启动和停止

  • net stop mysql
  • net start mysql

第二招、登陆mysql

  • mysql -u用户名 -p用户密码
  • mysql -uroot -p, 回车後提示你输入密码,输入12345,然後回车即可进入到mysql中了,mysql的提示符是:

mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户

  • grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”
  • 增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然後键入以下命令:grant select,insert,update,delete on *.* to user1@localhost Identified by “password1″;如果希望该用户能够在任何机器上登陆mysql,则将localhost改为”%”。
  • 如果你不想user1有密码,可以再打一个命令将密码去掉。grant select,insert,update,delete on mydb.* to user1@localhost identified by “”;

第四招: 操作数据库 登录到mysql中,然後在mysql的提示符下运行下列命令,每个命令以分号结束。

  • 显示数据库列表。

show databases; 缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。

  • 显示库中的数据表:

use mysql; show tables;

  • 显示数据表的结构:

describe 表名;

  • 建库与删库:

create database 库名; drop database 库名;

  • 建表:

use 库名; create table 表名(字段列表); drop table 表名;

  • 清空表中记录:

delete from 表名;

  • 显示表中的记录:

select * from 表名;

第五招、导出和导入数据

  • 导出数据:

mysqldump –opt test > mysql.test 即将数据库test数据库导出到mysql.test文件,後者是一个文本文件 如:mysqldump -u root -p123456 –databases dbname > mysql.dbname 就是把数据库dbname导出到文件mysql.dbname中。

  • 导入数据:

mysqlimport -u root -p123456 < mysql.dbname。 不用解释了吧。

  • 将文本数据导入数据库:

文本数据的字段数据之间用tab键隔开。 use test; load data local infile “文件名” into table 表名;

SQL常用命令使用方法:

(1) 数据记录筛选:

sql=”select * from 数据表 where 字段名=字段值 order by 字段名 [desc]”

sql=”select * from 数据表 where 字段名 like ‘%字段值%’ order by 字段名 [desc]”

sql=”select top 10 * from 数据表 where 字段名 order by 字段名 [desc]”

sql=”select * from 数据表 where 字段名 in (’值1′,’值2′,’值3′)”

sql=”select * from 数据表 where 字段名 between 值1 and 值2″

(2) 更新数据记录:

sql=”update 数据表 set 字段名=字段值 where 条件表达式”

sql=”update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式”

(3) 删除数据记录:

sql=”delete from 数据表 where 条件表达式”

sql=”delete from 数据表” (将数据表所有记录删除)

(4) 添加数据记录:

sql=”insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)”

sql=”insert into 目标数据表 select * from 源数据表” (把源数据表的记录添加到目标数据表)

(5) 数据记录统计函数:

AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加

引用以上函数的方法:

sql=”select sum(字段名) as 别名 from 数据表 where 条件表达式” set rs=conn.excute(sql)

用 rs(”别名”) 获取统的计值,其它函数运用同上。

(6) 数据表的建立和删除:

CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 数据表名称 (永久性删除一个数据表)

[编辑]

MySQL批 处理命令

批处理是一种非交互式运行mysql程序的方法,如同您在mysql中使用的命令一样,你仍然将使用这些命令。

为了实现批处理,您重定向一个文件到mysql程序中,首先我们需要一个文本文件,这个文本文件包含有与我们在mysql中输入的命令相同 的文本。 比如我们要插入一些数据,使用包含下面文本的文件(文件名为New_Data.sql,当然我们也可以取名为New_Data.txt及任何其他的合法名 字,并不一定要以後缀sql结尾):

  • USE Meet_A_Geek;
  • INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, “Block”);
  • INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, “Newton”);
  • INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, “Simmons”);

注意上面的这些句子的语法都必须是正确的,并且每个句子以分号结束。 上面的USE命令选择数据库,INSERT命令插入数据。

下面我们要把上面的文件导入到数据库中,导入之前要确认数据库已经在运行,即是mysqld进程(或者说服务,Windows NT下面称为”服务“,unix下面为”进程“)已经在运行。 然後运行下面的命令:

  • bin/mysql –p < /home/mark/New_Data.sql

接着按提示输入密码,如果上面的文件中的语句没有错误,那么这些数据就被导入到了数据库中。

命令行中使用LOAD DATA INFILE 从文件中导入数据到数据库: 现在您可能会问自己,”究竟为什么我要输入所有的这些SQL语句到文件中,然後通过程序运行它们呢?” 这样看起来好像需要大量的工作。很好,你这样想很可能就对了。但是假如你有从所有这些命令中产生的log记录呢?现在这样就很棒,嗯,大多数数据库都会自 动产生数据库中的事件记录的log。而大部分log都包含有用过的原始的SQL命令。因此,如果您不能从您现在的数据库中导出数据到新的 mysql数据库中使用,那么您可以使用log和mysql的批处理特性,来快速且方便地导入您地数据。当然,这样就省去了打字的麻烦。

LOAD DATA INFILE 这是我们要介绍的最後一个导入数据到MySQL数据库中的方法。这个命令与mysqlimport非常相似,但这个方法可以在mysql命令行中使用。也 就是说您可以在所有使用API的程序中使用这个命令。使用这种方法,您就可以在应用程序中导入您想要导入的数据。

使用这个命令之前,mysqld进程(服务)必须已经在运行。 启动mysql命令行:

  • bin/mysql –p

按提示输入密码,成功进入mysql命令行之後,输入下面的命令:

  • USE Meet_A_Geek;
  • LOAD DATA INFILE “/home/mark/data.sql” INTO TABLE Orders;

简单的讲,这样将会把文件data.sql中的内容导入到表Orders中,如mysqlimport工具一样,这个命令也有一些可以选择的参数。 比如您需要把自己的电脑上的数据导入到远程的数据库服务器中,您可以使用下面的命令:

  • LOAD DATA LOCAL INFILE “C:\MyDocs\SQL.txt” INTO TABLE Orders;

上面的LOCAL参数表示文件是本地的文件,服务器是您所登陆的服务器。 这样就省去了使用ftp来上传文件到服务器,MySQL替你完成了. 您也可以设置插入语句的优先级,如果您要把它标记为低优先级(LOW_PRIORITY),那么MySQL将会等到没有其他人读这个表的时候,才把插入数 据。可以使用如下的命令:

  • LOAD DATA LOW_PRIORITY INFILE “/home/mark/data.sql” INTO TABLE Orders;

您也可以指定是否在插入数据的时候,取代或者忽略文件与数据表中重复的键值。替代重复的键值的语法:

  • LOAD DATA LOW_PRIORITY INFILE “/home/mark/data.sql” REPLACE INTO TABLE Orders;

上面的句子看起来有点笨拙,但却把关键字放在了让您的剖析器可以理解的地方。

下面的一对选项描述了文件的记录格式,这些选项也是在mysqlimport工具中可以用的。他们在这里看起来有点不同。首先,要用到 FIELDS关键字,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:

  • TERMINATED BY character
  • ENCLOSED BY character
  • ESCAPED BY character

这些关键字与它们的参数跟mysqlimport中的用法是一样的. The TERMINATED BY 描述字段的分隔符,默认情况下是tab字符(\t) ENCLOSED BY描述的是字段的括起字符。比方以引号括起每一个字段。 ESCAPED BY 描述的转义字符。默认的是反些杠(backslash:\ ). 下面仍然使用前面的mysqlimport命令的例子,用LOAD DATA INFILE语句把同样的文件导入到数据库中:

  • LOAD DATA INFILE “/home/mark/Orders.txt” REPLACE INTO TABLE Orders FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘”‘;

LOAD DATA INFILE语句中有一个mysqlimport工具中没有特点:

     LOAD DATA INFILE 可以按指定的列把文件导入到数据库中。

当我们要把数据的一部分内容导入的时候,这个特点就很重要。比方说,我们要从Access数据库升级到MySQL数据库的时候,需要加入一些栏目 (列/字段/field)到MySQL数据库中,以适应一些额外的需要。 这个时候,我们的Access数据库中的数据仍然是可用的,但是因为这些数据的栏目(field)与MySQL中的不再匹配,因此而无法再使用 mysqlimport工具。尽管如此,我们仍然可以使用LOAD DATA INFILE,下面的例子显示了如何向指定的栏目(field)中导入数据:

  • LOAD DATA INFILE “/home/Order.txt” INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);

如您所见,我们可以指定需要的栏目(fields)。这些指定的字段依然是以括号括起,由逗号分隔的,如果您遗漏了其中任何一个,MySQL将会提 醒您^_^
ubuntu 下的 mysql 命令行方式。把 blue.sql 下载下来,运行

 (sudo) mysql
 create database XXXX;
 use XXXX;
 source blue.sql

北京网站建设公司

产业新闻

微软入股赛迪子公司 外资曲线进入中国传媒业

Tags:

海外资本正在通过入股等方式曲线缓慢进入中国传媒市场。国内传媒行业上市公司赛迪传媒最新公布的公告显示,美国微软公司旗下的Microsoft CIHC出资,收购赛迪传媒控股子公司北京赛迪经纬文化传播有 限公司(下称赛迪经纬)3%股权,赛迪经纬变更为中外合资经营企业的相关政府审批手续已经完成。

成为中外合资经营企业之后,赛迪经纬注册资本为一亿元人民币,营业范围为组织除演出外的文化艺术交流活 动,以及经营IT领域媒体《中国计算机报》、《数字时代》和《和谐之旅》投资管理咨询,以及知识产权咨询服务,企业形 象策划,技术领域的开发、转让、培训、服务等业务。

赛迪传媒于2008年11月12日发布的公告称,赛迪经纬计划将注册资本由1000万元人民币增加到9700万元人民币,具体增资计划为:公司以赛迪经纬 资本公积转增认缴出资额人民币8265万元,北京赛迪新宇投资顾问有限公司以赛迪经纬资本公积转增认缴出资额人民币435万元,Microsoft CIHC以美元现汇认缴出资150万美元。今日此次注资完成,注册资本调高至一亿元,但公告信息并未显示微软是否由于中美汇率变化追加投资。

此前赛迪经纬的股本结构是赛迪传媒持股95%,赛迪新宇持股5%,其中赛迪新宇为赛迪传媒持股比例为90%的控股子公司。增资完成后赛迪传媒将持有赛迪经 纬92.15%股权、赛迪新宇持有赛迪经纬4.85%股权、Microsoft CIHC持有赛迪经纬3%股权。

资料显示,赛迪传媒系A股上市公司,旗下控股公司赛迪经纬拥有《中国计算机报》、《数字时代》及《和谐之旅》等刊物的投资管理咨询等业务。

Microsoft CIHC系微软公司在美国注册的全资子公司,其主营业务为对外投资,尤其是针对中国市场的战略性投资。Microsoft CIHC独立于微软(中国)有限公司。

中国境内新闻媒体领域尚未对海外资本实施完整的放开,但在影视领域已经有部分放开。2005年之后,国内传媒机构与外资的接触多数为影视内容的合拍合作, 部分外资则以广告经营代理的方式变相获得个别电视台的内容经营合作。

北京网站建设公司

产业新闻

Linux内核十个版本性能对比

Tags:

从2008年1月底至今,Linux Kernel系统内核已经先后升级了十次,版本号也从2.6.24上升到 2.6.33,并且下个版本2.6.34也已进入开 发阶段。今天我们就看看过去两年内这十个版本在性 能上有何差异。

测试平 台是一套工作站系 统,硬件配置包括AMD Opteron 2384 2.7GHz四核心处理器(“上海”)、泰安Thunder n3600B S2927主板(NVIDIA nForce 3600PRO芯片组)、4GB DDR2 ECC Reg内存、希捷ST3300622AS 300GB硬盘、ATI FirePro V8700显卡软 件上采用Ubuntu 8.04.4 LTS 64位操作系统,组件有GNOME 2.22.3、X.Org Server 1.4.0.90、GCC 4.2.4、EXT3。

Linux Kernel 2.6.24-2.6.33的每个版本都从Ubuntu PPA源上获取,而且均为64位版本。除了替换内核之外,系统其他设置均保持默认。

Apache Benchmark(静态网页服务):2.6.33成绩大幅提升,但事实最早的2.6.24版反而才是好的,之后八个版本都差得很多,最新版终于基本正常 了。

PostgreSQL pgbench(每秒钟TPC-B交易数):2.6.30的成绩比上个版本骤然提升了多达770%,但之后2.6.32迅速下滑,最新的2.6.33却又 完全不如2.6.30之前的六个版本了。

7-Zip Compression(文件压缩速度):不同版本有所波动,最新的2.6.33成了赢家,这才是我们最希望看到的。

LZMA Compression(256MB文件压缩):十个版本几乎没什么区别。

Bork File Encrypter(文件加密时间):经过一番起伏之后,2.6.33又回到了当初2.6.24的水平,而之前一个版本2.6.32还是最快的。

PostMark(磁盘性能):和PostgreSQL测试结果惊人地相似,2.6.30-2.6.32三个版本性能异常突出,最新版里却又消 失了。

Dbench(单个客户):PostgreSQL、PostMark的故事再次上演,而且2.6.33的性能成了最差的,落后幅度也很大。

Dbench(12个客户):运行多个Dbench客户端之后情况又不同泐,2.6.30-2.6.32同样有明显改进,2.6.33则呈现井 喷之势,不过也可能和系统内存缓存有关。

FFmpeg(AVI视频转NTSC VCD):所有版本都差不多。

C-Ray光线追踪引擎:完全没区别。

Bullet物理引擎:只有第一个版本2.6.24稍差一些,之后一直非常稳定。

NAS Parallel Benchmark:美国航空航天局(NASA)用于评估并行超级计算机性能的测试程序,所有版本都没什么不同。

小结:

经过两年多的发展,Linux Kernel系统内核在稳定性和功能上都有了翻天覆地的变化,而这里我们只是考察了它们在部分情况下的性能,特别是和工作站应用相关的。

总的来说,十个版本在性能上基本保持稳定,但也有一些例外,最明显的就是PostgreSQL、PostMark的起起伏伏,很可能和EXT3 文件系统已经廉颇老矣有关,不过EXT4系统目前的主要工作仍是保证稳定性和可靠性,性能也有待提升。

新版内核也有不少时候表现更好一些,尤其是Apache Web服务 器性能,终于解决了困扰将近两年的性能问题。7-Zip压缩性能也不错。

北京网站建设公司

产业新闻

Web 设计中的 5 个最具争议性的话题

Tags:

Web 空前繁荣的今天,有关 Web 设计中的各种观点很多会成为话题,有的很快达成一致,有的则一直争议下去,本文讲述 Web 设计中的 5 大经典争议,这些争议从它们诞生的那天起,就被正反两方争得不亦乐乎。

争议之一:链接是否应该在新窗口打开

正 方:

外部链接应该始终从新窗口打开,当你浏览一个站点的时候,点击了一个链接,却被带到另外一个站点,你在这个站点的会话也因此丢失,这 实在令人恼怒。因此,站点内的链接可以在现有窗口打开,而站点外链接则应该在新窗口打开。

反方:

作为 Web 设计师,我们不该控制用户的行为,一个链接是 否在新窗口打开,应该是用户自己的选择。剥夺用户的控制权,在用户的桌面上打开一堆窗口或标签,这才是真正让人恼怒的事。如果用户想打开新窗口,他们可以 自己选择,而对非熟练用户,新窗口让他们丢失了后退按钮更让他们无所适从。

和事佬:

总体来讲,应该避免使用新窗口打开链 接,但在某些场合,如打开购物车中的帮助链接,打开一个非 html 文 件(如 PDF 文件),应该使用新窗口。为了提高易用性,最好在需要打开新窗口的地方,用一个小图标提示一下。

争 议之二:在链接中应该使用诸如Click here 一类的笼统词汇吗?

正 方:

事实证明,Click here 比描述性的链接更容易获得点击,因此应该使用该词汇以获得更好的点击率。

反方:

Click here 一类的链接损害 Web 的易用性,用户在点击之前,只能通过周围的上下文关系猜测这个链接是做什么的。Quality guidelines建议,任何 链接文字都应该明确描述该链接的目的。

和事佬:

为了提高站点的易用性,可访问性和 SEO 性能,应该始终使用描述性链接。很有趣听到有人说 Click here 比描述性链接可以获得更多点击率,不知道那些点击进来的人是不是看两眼就离开了。

争议之三:使用该继续使用 b 和 i 两个标签?

正方:

如果你仅仅想把一个词设为粗体,而这个词并没有强调表示重要 的意思,应该使用 b 标签,不该用 strong 标签,读屏软 件对 b 和i 标签有不同的发音,而 HTML5 规范中仍包含这两个标签。

反方:

这 两个标签的作用是将文字设置为粗体或斜体,从语义角度看,任何装饰性的东西都应该使用 CSS 实现,如果要强调一个词语,应该使用 strong 或 em 标签。

和事佬:

b 和 i 标签不应该用于修饰文字的式样,这些视觉的修饰应该交由 CSS 处理。如果要强调一个词汇或语句,应该使用 strong 或 em 标签。只有在那些没有别的标签可用的场合,才可以考虑 b 和 i 。

争议之四:站点 Logo 是否因出现在 h1 标签中?


正 方:

Logo 不应包围在标题标签中,标题标签应该包含这个页面的标题或描述性内容,这是 SEO 的最佳方式,否则,站点中的每个页的标题岂不是全变成公司名字了?

反方:

一个站点最明显 的标志是它的 Logo, 而 h1 是一个页面最顶级的标题,将 Logo 包围其中很自然,这样,即使没有 CSS 人们也很容易该明白这个页面的结构。

和事佬:

标题标签的作用是描述内容的层级结构,如果 一个站点有一个描述站点内容的标题,应该放在 h1 中,否则,第二级结构或描述性的对象,就是 Logo。

争议之五:是否应该支持 IE6?

正 方:

IE6 现在仍占有10%的市场份额 (在国内更高-译者注),因此,网站毫无疑问应该支持 IE6。世界上仍然有很多公司的系 统仍需使用 IE6 访问,另外,还有很多人根本不知道怎么升级他们的浏览器

反方:

IE6 已经过时,不支持最新的 Web 技 术,它给在线用户带来安全隐患,也是众多 Web 开 发设计师的噩梦。包括 YouTube 在内的大型站点已经停止支持 IE6。你也不例外。

和 事佬:

IE6 毫无疑问在衰退,随着大公司对它的抛弃,它的死亡可能来得比预期还快,是否支持 IE6 要看的具体情况,可以考虑为 IE6 用户提供最基本的页面格式,而不必为它挣扎。

本文来源:http://line25.com/articles/top-5-web-design-debates-that-cause-the-most-riots

北京网站建设公司