MadGoat's Blog

导航

MySQL简明教程

进入MySQL

  进入mysql时,你需要提供一个MySQL用户和此用户的口令。如果数据库运行在其它机器上,而不是你所在的这台机器上,你需要指定主机名。
命令:
mysql -h <主机名> -u <用户名> -p <数据库名>
Enter password: ********

********代表你的口令;当mysql显示Enter password:提示时输入它。

MYSQL 有缺省库mysql, 在此系统中,缺省的口令为空,打回车即可。
例如,在此机器上,你可以敲入:
# mysql -u root -p mysql
Enter password:
屏幕如下提示:
Welcome to the MySQL monitor. Commands end with ; or .
Your MySQL connection id is 459 to server version: 3.22.23a-log

Type 'help' for help.

mysql>

这就进入了mysql 的工作环境, 进入到名为mysql 的数据库中。
你可看见mysql>提示后的一些介绍信息:

提示符 mysql> 告诉你mysql准备为你输入命令。

我是通过cmd方式进入mysql的,先将目录选到..\MySQL\MySQL Server 5.0\bin>下,再在它后面敲入 mysql -hlocalhost -uroot -p<root的密码>  按回车就可以进去了

退出MySQL

在你成功地连接后,你可以在mysql>提示下打入QUIT随时断开:
mysql> QUIT
Bye
你也可以键入control-D断开。
操作MySQL

  在之前要指出的是:一条操作即是一条SQL语句,注意随后要跟上一个分号,以标志此条语句的结束。而且一条SQL 语句不必全在一个单独行给出,可以写入多行,最后以分号结束此语句的输入。

  在之前要指出的是:一条操作即是一条SQL语句,注意随后要跟上一个分号,以标志此条语句的结束。而且一条SQL 语句不必全在一个单独行给出,可以写入多行,最后以分号结束此语句的输入。

创建数据库
命令:CREATE DATABASE <数据库名>
例如,建立一个名为 test 的数据库
mysql> CREATE DATABASE test;

删除数据库
命令: DROP DATABASE <数据库名>
例如,删除名为 test 的数据库
mysql> DROP DATABASE test

连接数据库

命令: USE <数据库名>
例如,如果test数据库存在,尝试存取它:
mysql> USE test
屏幕提示:
Database changed

建表
命令:CREATE TABLE <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
例 如,建立一个名为table_1的表,此表记录班上的人员及平均成绩,那么用字段 id 代表编号,为数字类型,且编号唯一,不能为空, 缺省值为 0 ; 用字段 name 代表人名,为字符型,不为空;用字段 degree 代表成绩,为数字型,可为空。编号id 为此表的关键字。建表如下:
mysql> CREATE TABLE table_1 (
> id INT(4) DEFAULT '0' NOT NULL,
> name CHAR(20) NOT NULL
> degree DOUBLE(16,2) ,
> PRIMARY KEY(id));

删除表
命令:DROP TABLE <表名>
例如,删除表名为 table_1 的表
mysql> DROP TABLE table_1;

插入数据

命令:INSERT INTO <表名> [( <字段名1>[,..<字段名n > ])]
VALUES ( 值1 )[, ( 值n )]
例如,往表 test 中插入二条记录, 这二条记录表示:编号为1的名为joan 的成绩为96.45, 编号为2 的名为jeanny 的成绩为82.99.
mysql> INSERT INTO test VALUES(1,'joan',96.45),(2,'jeanny',82.99);

查询表中的数据
命令: SELECT <字段1,字段2,...> FROM < 表名 > WHERE < 表达式 >
例如,查看表 test 中所有数据
mysql> SELECT * FROM test;
屏幕显示:
+----+-------------+----------+
| id | name | degree |
+----+-------------+----------+
| 1 | joan | 96.45 |
| 2 | jeanny | 82.99 |
+----+-------------+----------+ 

删除表中数据
命令: DELETE FROM < 表名 > WHERE < 表达式 >
例如,删除表 test 中编号为1 的记录
mysql> DELETE FROM test WHERE id=1;

字段类型

   1.INT[(M)]

   正常大小整数类型

   2.DOUBLE[(M,D)] [ZEROFILL]

   正常大小(双精密)浮点数字类型

   3.DATE

   日期类型。支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列

   4.CHAR(M)

   定长字符串类型,当存储时,总是是用空格填满右边到指定的长度

   5.BLOB TEXT

   BLOB或TEXT类型,最大长度为65535(2^16-1)个字符。

   6.VARCHAR

变长字符串类型

   1: 显示数据库

SHOW DATABASES,

   2:当前选择的数据库,

   mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| test ;
+------------+
| DATABASE() |
+------------+
| test    |
+------------+

  3: 当前数据库包含的表信息:

   mysql> SHOW TABLES;
+---------------------+
| Tables in test 
mysql> SHOW TABLES;
+---------------------+
| Tables in test   |
+---------------------+
| mytable1      |
| mytable2      |
+---------------------+

  4: 获取表结构

   mysql> desc mytable1;
+---------+-------------+------+-----+---------+-------+
| Field  mysql> desc mytable1;
+---------+-------------+------+-----+---------+-------+
| Field  | Type  | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| s1  | varchar(20) | YES |NULL  |    |
+---------------------+------+-----+---------+-------+

导入数据库表

   (1)创建.sql文件

   (2)先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat auction,会提示输入密码,然后成功创建。

   (2)导入auction.sql文件

   c:mysqlbin>mysql -u root -p auction < auction.sql。

   通过以上操作,就可以创建了一个数据库auction以及其中的一个表auction。

修改数据库

   (1)在mysql的表中增加字段:

   alter table dbname add column userid int(11) not null primary key auto_increment;

   这样,就在表dbname中添加了一个字段userid,类型为int(11)。

mysql数据库的授权

   mysql>grant select,insert,delete,create,drop

   on *.* (或test.*/user.*/..)

   to 用户名@localhost

   identified by "密码"; //还是建议使用这种!

   如:新建一个用户帐号以便可以访问数据库,需要进行如下操作:

   mysql> grant usage

   -> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.15 sec)

   此后就创建了一个新用户叫:testuser,这个用户只能从localhost连接到数据库并可以连接到test 数据库。下一步,我们必须指定testuser这个用户可以执行哪些操作:

   mysql> GRANT select, insert, delete,update
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.00 sec)

   此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询操作。现在我们结束操作并退出MySQL客户程序:

   mysql> exit
Bye

 

posted on 2008-03-04 13:10  MadGoat  阅读(1146)  评论(0编辑  收藏  举报