mysql创建数据库和删除数据库
1.创建数据库
启动MySQL 服务之后,输入以下命令连接到MySQL 服务器:
[mysql@db3 ~]$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7344941 to server version: 5.1.9-beta-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
在以上命令行中,mysql 代表客户端命令,-u 后面跟连接的数据库用户,-p 表示需要输入密码。
如果数据库设置正常,并输入正确的密码,将看到上面一段欢迎界面和一个mysql>提示符。
在欢迎界面中介绍了以下几部分内容。
命令的结束符,用;或者\g 结束。
客户端的连接ID,这个数字记录了MySQL 服务到目前为止的连接次数,每个新连接都会自动加1,本例中是7344941。
MySQL 服务器的版本,本例中是“5.1.9-beta-log”,说明是5.1.9 的测试版,如果是标准版,则会用Standard 代替Beta。
通过“help;”或者“\h”命令来显示帮助内容,通过“\c”命令来清除命令行buffer。在mysql>提示符后面输入所要执行的的SQL 语句,每个SQL 语句以分号或者\g 结束,按回车键执行。
因为所有的数据都存储在数据库中,因此需要学习的第一个命令是创建数据库,语法如下所示:
CREATE DATABASE dbname
例如,创建数据库test1,命令执行如下:
mysql> create database test1;
Query OK, 1 row affected (0.00 sec)
可以发现,执行完创建命令后,下面有一行提示“Query OK, 1 row affected (0.00 sec)”,这段提示可以分为3 部分,“Query OK”表示上面的命令执行成功,读者可能奇怪,又不是执行查询操作,为什么显示查询成功?其实这是MySQL 的一个特点,所有的DDL 和DML(不包括SELECT)操作执行成功后都显示“Query OK”,这里理解为执行成功就可以了;“1 rowaffected”表示操作只影响了数据库中一行的记录,“0.00 sec”则记录了操作执行的时间。如果已经存在这个数据库,系统会提示:
mysql> create database test1;
ERROR 1007 (HY000): Can't create database 'test1'; database exists
这个时候,如果需要知道系统中都存在哪些数据库,可以用以下命令来查看:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cluster |
| mysql |
| test |
| test1 |
+--------------------+
5 rows in set (0.00 sec)
可以发现,在上面的列表中除了刚刚创建的test1 外,还有另外4 个数据库,它们都是安装MySQL 时系统自动创建的,其各自功能如下。
information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信息、权限信息、字符集信息、分区信息等。
cluster:存储了系统的集群信息。
mysql:存储了系统的用户权限信息。
test:系统自动创建的测试数据库,任何用户都可以使用。
在查看了系统中已有的数据库后,可以用如下命令选择要操作的数据库:
USE dbname
例如,选择数据库test1:
mysql> use test1
Database changed
然后再用以下命令来查看test1 数据库中创建的所有数据表:
mysql> show tables;
Empty set (0.00 sec)
由于test1 是刚创建的数据库,还没有表,所以显示为空。命令行下面的“Empty set”表示操作的结果集为空。如果查看一下mysql 数据库里面的表,则可以得到以下信息:
mysql> use mysql
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| plugin |
| proc |
| procs_priv |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
21 rows in set (0.00 sec)
2.删除数据库
删除数据库的语法很简单,如下所示:
drop database dbname;
例如,要删除test1 数据库可以使用以下语句:
mysql> drop database test1;
Query OK, 0 rows affected (0.00 sec)
可以发现,提示操作成功后,后面却显示了“0 rows affected”,这个提示可以不用管它,在MySQL 里面,drop 语句操作的结果显示都是“0 rows affected”。
注意:数据库删除后,下面的所有表数据都会全部删除,所以删除前一定要仔细检查并做好相应备份.
好记忆不如烂笔头