Blogger Information
Blog 41
fans 0
comment 1
visits 40351
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
MySQL学习杂记
yeyiluLAMP
Original
990 people have browsed it

重命名一张表
重命名一张表的语句有多种形式,以下 3 种格式效果是一样的:

RENAME TABLE 原名 TO 新名字;
ALTER TABLE 原名 RENAME 新名;
ALTER TABLE 原名 RENAME TO 新名;

重命名一列
这条语句其实不只可用于重命名一列,准确地说,它是对一个列做修改(CHANGE) :

ALTER TABLE 表名字 CHANGE 原列名 新列名 数据类型 约束;

注意:这条重命名语句后面的 “数据类型” 不能省略,否则重命名失败。


改变数据类型
要修改一列的数据类型,除了使用刚才的CHANGE语句外,还可以用这样的MODIFY语句:

ALTER TABLE 表名字 MODIFY 列名字 新数据类型;



索引
索引是一种与表有关的结构,它的作用相当于书的目录,可以根据目录中的页码快速找到所需的内容。

当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索:将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录。这样做会消耗大量数据库系统时间,并造成大量磁盘 I/O 操作。

而如果在表中已建立索引,在索引中找到符合查询条件的索引值,通过索引值就可以快速找到表中的数据,可以大大加快查询速度。

对一张表中的某个列建立索引,有以下两种语句格式:

ALTER TABLE 表名字 ADD INDEX 索引名 (列名);

CREATE INDEX 索引名 ON 表名字 (列名);


我们用这两种语句分别建立索引:

ALTER TABLE employee ADD INDEX idx_id (id);  #在employee表的id列上建立名为idx_id的索引

CREATE INDEX idx_name ON employee (name);   #在employee表的name列上建立名为idx_name的索引


索引的效果是加快查询速度,当表中数据不够多的时候是感受不出它的效果的。这里我们使用命令 SHOW INDEX FROM 表名字; 查看刚才新建的索引;


导入
导入操作,可以把一个文件里的数据保存进一张表。导入语句格式为:

LOAD DATA INFILE '文件路径和文件名' INTO TABLE 表名字;

请注意如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:

mysql> LOAD DATA INFILE '文件路径' INTO TABLE tabl_name LINES 
    -> TERMINATED BY '\r\n';

(在运行OS X的苹果电脑上,应使用行结束符\r。)


导出
导出与导入是相反的过程,是把数据库某个表中的数据保存到一个文件之中。导出语句基本格式为:

SELECT 列1,列2 INTO OUTFILE '文件路径和文件名' FROM 表名字;
注意:语句中 “文件路径” 之下不能已经有同名文件。


备份文件恢复数据库

方法1:

进入MySQL命令行终端
source '文件路径'

source /tmp/SQL6/MySQL-06.sql


方法2:
在Linux命令行终端

mysql -uroot -ppassword database_name < bak.sql




备份
数据库中的数据或许十分重要,出于安全性考虑,在数据库的使用中,应该注意使用备份功能。

备份与导出的区别:导出的文件只是保存数据库中的数据;而备份,则是把数据库的结构,包括数据、约束、索引、视图等全部另存为一个文件。

mysqldump 是 MySQL 用于备份数据库的实用程序。它主要产生一个 SQL 脚本文件,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT 等。

使用 mysqldump 备份的语句:

mysqldump -u root 数据库名>备份文件名;   #备份整个数据库

mysqldump -u root 数据库名 表名字>备份文件名;  #备份整个表
mysqldump -u root mysql_shiyan > bak.sql;




索引:可以加快查询速度
视图:是一种虚拟存在的表
导入:从文件中导入数据到表
导出:从表中导出到文件中
备份:mysqldump 备份数据库到文件
恢复:从文件恢复数据库



小试牛刀:成绩管理系统

1.MySQL 服务处于运行状态

2.下载运行 createdb.sql 文件,完成数据库的建立

3.找出物理(physics)分数最高的同学,并把他的信息(id、姓名、性别)输出到路径 /tmp/ 下的 physics.txt文件中

4.修改 Tom 的化学(chemistry)成绩,在原来的基础上加3分

1.
sudo service mysql start

2.
source /home/www/createdb.sql

3.
SELECT sname,cname,score 
FROM student,course,mark
WHERE (student.sid=coruse.cid AND student.sid=mark.sid AND course.cid=mark.cid) AND cname="physics"
ORDER BY score DESC;   
SELECT * INTO OUTFILE '/tmp/physics.txt' FROM student WHERE sname="Jack";

4.
UPDATE studnet,course,mark
SET score=score+3
WHERE sname="Tom" AND cname="chemistry";


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!