MYSQL创建删除索引

索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。删除索引可以利用ALTER TABLE或DROP INDEX语句来实现。

(1)使用ALTER TABLE语句创建索引。

语法如下:

ALTER TABLE TABLE_NAME ADD INDEX index_name (column_list) ;
ALTER TABLE TABLE_NAME ADD UNIQUE (column_list) ;
ALTER TABLE TABLE_NAME ADD PRIMARY KEY (column_list) ;

其中包括普通索引、UNIQUE索引和PRIMARY KEY索引3种创建索引的格式,table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以同时创建多个索引。

Continue reading

程序员应读的书

“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”

很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书的推荐数排列。

1. 《代码大全》 史蒂夫·迈克康奈尔

推荐数:1684

“优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky

对于新手来说,这本书中的观念有点高阶了。到你准备阅读此书时,你应该已经知道并实践过书中99%的观念。– esac

Continue reading

所谓的HTML5十五新特性

下面是我摘抄的一篇文章,觉得有必要记载到这里。我复制的时候大体浏览了一下,发现重复的内容很多,比如新的标签header、footer和hgroup其实是一个系列的,比如audio和video还有那个什么video重载都可以放到多媒体这一块里面的,唉,可恨的人们啊。

HTML5想必大家都很熟悉了,因为太多的媒体在讨论这一技术。然而,你能准确地说出HTML5带来了哪些新特性吗?本文总结了HTML5带来的15项你必须知道的新特性。

1.新的文档类型 (New Doctype)

目前许多网页还在使用XHTML 1.0 并且要在第一行像这样声明文档类型:

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在HTML5中,上面那种声明方式将失效。下面是HTML5中的声明方式:

< !DOCTYPE html>

Continue reading

10种新语言

开发者是否真的还需要一种新的编程语言呢?选择已经有那么多了,现有的语言都让开发者应接不暇,可是各种新的编程语言还是在以惊人的速度产生!答案就是随着多核CPU、云计算、移动及分布式结构的不断发展,简单的语法已经不能适用,我们需要更加强大的语言!而以下10种编程语言,或正在走向成熟,或还在开发,可是它们都以全新的视角演绎着软件开发的艺术,每一种语言,都有可能打开编程世界的新大门!

No.1:Dart

JavaScript在Web的交互性方面运用得很好,但是当Web应用程序的代码行过多时,它的弱点就会显现出来,因此,Google推出了新的结构化Web编程语言Dart用以替代JavaScript。

与JavaScript标准的语法不同的是,Dart是通过类和接口来定义对象,并且允许编程者自由地定义静态变量,这使得Dart既能如JavaScript般流畅,又能更快更容易地存储且不易受干扰。此外,CSDN软件研发频道之前编译的Dart比JavaScript更酷的10个理由会让你了解到更多Dart的便捷性。

Continue reading

apache并发连接数

突然发现,还有两个月就2012年了,时间过得真实带米内特块啊,最近公司的破网站经常连接不上去,于是找个命令查看apache的并发连接数,发现挺高的,哎。要懂得东西太多了。

我们调优常常要查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):

ps -ef | grep httpd | wc -l

出现的结果,就是当前Apache能够处理的多少个并发请求,这个值Apache根据负载情况自动调。

查看Apache的并发请求数及其TCP连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

Continue reading

mysql备份还原

本博客使命之mysql数据库的备份还原。其实写这些东西怪丢人的,很多人会说你连这个都记不住吗?我只好一句话不说,我确实记不住。

1 导出所有数据库

mysqldump -u username -p password –all-databases > all.sql

2 导出一个数据库

mysqldump -u username -p password somedatabase > all.sql

3 导入

进入mysql -u username -p password

source all.sql

命令很多,但是有这几条就暂时够用了。

Emacs大总结

按照本博客的观点,只要是看过一次的东西,一下不能全部记住,一定要放到这里来,以备把我可爱的流量只给自己,哈哈,虽然没有什么用,但是看到的网站上转贴的那些丑陋的格式,那些只知道采集的站长,我就禁不住的一阵感动,你们不累嘛?或许因为个人是有点完美主义,所以对很多东西都要求一些。所以虽然在这里我转载了,我转载了百度百科上的东西,但是我仍然没有内疚之心,第一,我注明出处了,第二,来看本文的人最起码不被乱七八糟的格式所气恼。

Emacs的历史

Emacs在1970年代诞生于MIT人工智能实验室(MIT AI Lab)。在此之前,人工智能实验室的ITS上运行的操作系统PDP-6和PDP-10的默认编辑器是一个叫TECO(Text Editor and Corrector)的行编辑器。与现代的文本编辑器不同,TECO将击键、编辑和文本显示按照不同的模式进行处理,稍晚出现的vi与它有些类似。在TECO上击键并不会直接将这些字符插入到文档里去,必须先输入一系列相应的TECO指令,而被编辑的文本在输入命令的时候是不会显示在屏幕上的。在如今还在使用的UNIX编辑器ed(ed)上,我们还能看到类似的工作方式。

1970年代初,Richard Stallman访问Stanford AI Lab时见到了那里的“E” editor。这种编辑器有着所见即所得的直观特点,深深打动了Stallman。后来Stallman回到MIT,那时候MIT AI lab的黑客Carl Mikkelsen 已经给TECO加上了称作“Control-R”的编辑显示模式,使得屏幕能跟随用户的每次击键刷新显示。Stallman重写了这一模式,使它运行得更有效率,后来又加入了宏,允许用户重新定义运行TECO程序的键位。

Continue reading

scp命令

最近越来越懒惰了,真的懒得打开filezilla,然后链接,然后选择文件夹,然后upload,后来就使用sftp命令,发现这个就是ftp,只是安全一点,比如烦人的文件夹操作,后来突然想起原来用过的scp,但是忘记怎么用了,就从网上下了一个简介。

scp 可以在 2个 linux 主机间复制文件;

命令基本格式:

scp [可选参数] file_source file_target

从 本地 复制到 远程

* 复制文件:

scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file
scp local_file remote_ip:remote_folder
scp local_file remote_ip:remote_file

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

Continue reading

HTML实体

其实开博客的主要目的就是收集这些东西,就这个html实体每次用到都得google一下,然后找到一个比较全的,然后找。

html中的很多符号是可以当图形来用的,熟悉html优化的同志们很明显的就可以知道,用一个字符代替一个图片是能省多少流量的。当让像我博客这样的可以胡略不计。

Continue reading

RVM中文指南

rvm还是不错的,当然是开发环境,如果你的服务器需要经常更换ruby版本的话,你真是太可怜了,哈哈。

Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)。目前支持Ruby的大多数版本,有 1.8.7,1.9.1,1.9.2和Ruby Enterprise Editon,通过RVM可以很方便的在多个Ruby版本中快速切换。RVM同时也支持JRuby。

设想当前工作在Ruby 1.9.2 + Rails 3.0下,想体验最新的Rails 开发版,怎么办?Gemset就是为解决这个问题而设计的,它可 以为每个Ruby版本生成多个gemsets,各个gemset相互独立,这意味着你可以很方便的切换到某个gemset下去体验一个未正式发布的gem 版本,而不会破杯当前的工作环境,完毕后,再切回到工作的gemset下即可。

大多的IDE也都很好的支持了RVM方面,可以自动识别RVM管理的Ruby版本和GemSet,方便你切换Ruby的解析环境。

Continue reading