Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103691954
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Mysql/postgreSQL

2008-04-04 19:15:40

作者:johnson  出处:www.itblogren.cn   
一、操作技巧

1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。但MYSQL旧版本不支持。mysql4.0以上的都支持。


二、操作命令

1、显示数据库列表。
格式:show databases;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| itblogren          |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql 库很重要它里面有 MySQL 的系统信息,改密码和新增用户,实际上就是对这个库进行操作。

2、显示库中的数据表:
格式:use mysql;show tables;
mysql> use mysql;            
Database changed            
mysql> show tables;         
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| proc                      |
| procs_priv                |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
17 rows in set (0.00 sec)   


3、显示数据表的结构:
格式:describe/desc 表名;
mysql> desc time_zone_name;                                      
+--------------+------------------+------+-----+---------+------+
| Field        | Type             | Null | Key | Default | Extra|
+--------------+------------------+------+-----+---------+------+
| Name         | char(64)         | NO   | PRI |         |      |
| Time_zone_id | int(10) unsigned | NO   |     |         |      |
+--------------+------------------+------+-----+---------+------+
2 rows in set (0.01 sec)                                         


4、建库:
格式:create database 库名;
mysql> create database testdb;     
Query OK, 1 row affected (0.09 sec)


5、建表:
格式:use 库名;create table 表名 (字段设定列表);
mysql> use testdb;                                    
Database changed                                       
mysql> create table user                              
    -> (                                               
    ->    userid      int                     not null,
    ->    username    varchar(20)             not null,
    ->    password    varchar(50)             not null,
    ->    email       varchar(50),                     
    ->    primary key (userid)                        
    -> );                                             
Query OK, 0 rows affected (0.25 sec)                  



6、删库和删表:

格式:drop database 库名; drop table 表名;
mysql> drop database testdb;      
Query OK, 1 row affected (0.09 sec)

mysql> drop table user;            
Query OK, 0 rows affected (0.06 sec)

7、删除表中记录清空:

格式:delete from 表名 where 条件;
8、查询表中的记录:
格式:select * from 表名 where 条件;


三、新建库表实例

任务:在数据库testdb中新建一张user表,在其中插入几条记录,然后查询user表。
建库建表:
mysql> drop database if exists testdb;/*如果存在testdb则删除*/
Query OK, 0 rows affected, 1 warning (0.00 sec)            

mysql> create database testdb; /*建立库testdb*/
Query OK, 1 row affected (0.00 sec)            

mysql> use testdb;                                               
Database changed                                                
mysql> create table user  /*建表user*/                           
    -> (                                                         
    ->    userid                int                     not null,
    ->    username              varchar(20)             not null,
    ->    password              varchar(50)             not null,
    ->    email         varchar(50),                             
    ->    primary key (userid)                                   
    > );                                                         
Query OK, 0 rows affected (0.07 sec)

插入字段:
mysql> /*插入字段*/
mysql> insert into user s('1','aa','123456','abc@sina.com');
Query OK, 1 row affected (0.07 sec)

mysql> insert into user s('2','bb','123456','def@sohu.com');
Query OK, 1 row affected (0.06 sec)

在 MySQL 提示符键入上面的命令也可以,但不方便调试。也可以将以上命令原样写入一个文本文件中假设为 user.sql,然后复制到 c:\ 下,并在 DOS 状态进入目录 %mysqlpath%\mysql\bin> ,然后键入以下命令:
格式:mysql -uroot -p密码 < c:\user.sql
如果成功,空出一行无任何显示;如有错误,会有提示。


四、将文本数据转到数据库中

1、文本数据应符合的格式:字段数据之间用 tab 键隔开,null 值用 \n 来代替.
例: c:\data.txt 中的数据为
3 cc abcdef

4 dd abcdef
5 ee aaaaaa
6 ff aaaaaa

2、数据传入命令

load data local infile "文件名" into table 表名;
mysql> load data local infile "c:\\data.txt" into table user;
Query OK, 6 rows affected (0.02 sec)
Records: 6  Deleted: 0  Skipped: 0  Warnings: 0


注意:文件的路径要用双斜杠格开。
mysql> select * from user;
+--------+----------+----------+---------------+
| userid | username | password | email         |
+--------+----------+----------+---------------+
|     1 | aa       | 123456   |

|     2 | bb       | 123456   |
|     3 | cc       | abcdef   |
|     4 | dd       | abcdef   |
|     5 | ee       | aaaaaa   |
|     6 | ff       | aaaaaa   |
+--------+----------+----------+---------------+
6 rows in set (0.01 sec)

更新字段:
格式:update 表名 set 列名1=值,列名2=值,... where 条件;
mysql> update user set username="modify" where userid ="6";
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from user;
+--------+----------+----------+---------------+
| userid | username | password | email         |
+--------+----------+----------+---------------+
|     1 | aa       | 123456   |

|     2 | bb       | 123456   |
|     3 | cc       | abcdef   |
|     4 | dd       | abcdef   |
|     5 | ee       | aaaaaa   |
|     6 | modify   | aaaaaa   |
+--------+----------+----------+---------------+
6 rows in set (0.00 sec)

删除记录:
格式:delete from 表 where 条件;
mysql> delete from user;
Query OK, 6 rows affected (0.04 sec)

mysql> select * from user;
Empty set (0.00 sec)

这一篇我们讲了数据库的创建,表的创建,表的查询,修改,删除等操作,下一篇是关于数据库的备份。
阅读(295) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~