一、操作技巧
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
cc@gmail.com
4 dd abcdef
dd@gmail.com
5 ee aaaaaa
ee@gmail.com
6 ff aaaaaa
ff@gmail.com
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 |
abc@sina.com
| 2 | bb | 123456 |
def@sohu.com
| 3 | cc | abcdef |
cc@gmail.com
| 4 | dd | abcdef |
dd@gmail.com
| 5 | ee | aaaaaa |
ee@gmail.com
| 6 | ff | aaaaaa |
ff@gmail.com
+--------+----------+----------+---------------+
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 |
abc@sina.com
| 2 | bb | 123456 |
def@sohu.com
| 3 | cc | abcdef |
cc@gmail.com
| 4 | dd | abcdef |
dd@gmail.com
| 5 | ee | aaaaaa |
ee@gmail.com
| 6 | modify | aaaaaa |
ff@gmail.com
+--------+----------+----------+---------------+
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)