mysql主机怎么打开 mysql怎么打开数据库( 四 )


use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,name char(10) not null,
address varchar(50) default ’深圳’,
year date
); //建表结束
//以下为插入字段
insert into teacher values(’’,’glchengang’,’深圳一中’,’1976-10-10’);insert into teacher values(’’,’jack’,’深圳一中’,’1975-12-23’);注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段 , 而且缺省值为深圳 。varchar和char有什么区别 呢,只有等以后的文章再说了 。(4)将YEAR设为日期字段 。
如果你在MySQL提示符键入上面的命令也可以 , 但不方便调试 。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令:
mysql -uroot -p密码c:\\school.sql
如果成功,空出一行无任何显示;如有错误 , 会有提示 。(以上命令已经调试,你只要将//的注释去掉即可使用) 。
九 、修改数据库结构
9.1、字段操作
9.1.1、增加字段
alter table dbname add column 字段名字段选项
9.1.2、修改字段
alter table dbname change 旧字段名 新字段名选项
9.1.3、删除字段
alter table dbname drop column 字段名
十、数据导出
数据导出主要有以下几种方法:
使用select into outfile "filename"语句
使用mysqldump实用程序
10.1、使用select into outfile "filename"语句可以在mysql的命令行下或在php程序中执行它 。我下面以在mysql命令行下为 例 。在php中使用时,将其改成相应的查询进行处理即可 。不过在使用这个命令时 , 要求用户拥有file的权限 。如我们有一个库为phptest,其中有一 个表为driver 。现在要把driver卸成文件 。执行命令:
mysql use phptest;
Database Changed
mysql select * from driver into outfile "a.txt";Query OK, 22 rows affected (0.05 sec)
上面就可以完成将表driver从数据库中卸到a.txt文件中 。注意文件名要加单引 号 。那么这个文件在哪呢?在mysql目录下有一个data目录 , 它即是数据库文件所放的地方 。每个库在单独占一个子目录,所以phptest的目录为 c:\mysql\data\phptest(注意:我的mysql安装在c:\mysql下) 。好,现在我们进去,a.txt就是它 。打开这个文件,可 能是:
1 Mika Hakinnen 1
2 David Coulthard 1
3 Michael Schumacher 2
4 Rubens Barrichello 2
...
可能还有很多记录 。每个字段之间是用制表符分开的(\t) 。那么我们可以修改输出文件 名的目录 , 以便放在指定的位置 。如"a.txt"可以改成"./a.txt"或"/a.txt" 。其中"./a.txt"放在c:\mysql\data 目录下了,而"/a.txt"文件则放在c:\目录下了 。所以select命令认为的当前目录是数据库的存放目录,这里是c:\mysql\data 。
使用select命令还可以指定卸出文件时 , 字段之间的分隔字符,转义字符,包括字符 , 及记录行分隔字符 。列在下面:
FIELDS
TERMINATED BY "\t"
[OPTIONALLY] ENCLOSED BY ""
ESCAPED BY ""
LINES
TERMINATED BY "\n"
TERMINATED 表示字段分隔
[OPTIONALLY] ENCLOSED 表示字段用什么字符包括起来,如果使用了OPTIONALLY则只有CHAR和VERCHAR被包括ESCAPED 表示当需要转义时用什么作为转义字符LINES TERMINATED 表示每行记录之间用什么分隔上面列的是缺省值,而且这些项都是可选的,不选则使用缺省值 。可以根据需要进行修改 。给出一个例子如下:

推荐阅读