MySQL基本操作之---建库,建表,删库,删表

Zhangdragonfly 2019-06-27

MySQL数据库环境搭建好之后,就一块开始MySQL的学习之旅吧?本次主要介绍MySQL的基本操作之"建库,建表,删库,删表"。

一、基本操作之建库(非图形界面工具操作):
1、建库之前,首先需要连接到MySQL数据库,常见的连接工具工具为:"mysql"客户端命令,基本用法如下:

[root@WB-BLOG ~]# mysql <options>

options中常用的选项有:

-u:指定连接数据库实例所使用的用户名
-p:指定连接数据库实例所使用的密码
-h:指定需要连接的目标数据实例所在主机的ip地址或者域名,如果是服务器本地连接,可省略
-P:指定需要连接的目标数据库实例所监听的tcp端口,注意是大写的P。如果使用的是默认端口,此选项可省略
...该命令还有其他很多不太常用的选项,可以自行使用"mysql --help"命令查看,此处略。

示例:使用用户名为root密码为root的用户连接192.168.0.10服务器上端口为3306的数据库实例:

[root@WB-BLOG ~]# mysql -uroot -proot -h127.0.0.1 -P3306

注:除了-p指定的密码的选项之外,其余的参数和对应的值之间可以不加空格,也可加空格,但是-p参数和密码之间不可有空格,否则会被认为另外一个参数,需要重新输入密码。

2、进入mysql命令行之后,就可以创建数据库了,首先查看当前已经存在的数据库,使用show命令,show命令的使用选项如下:

mysql> show <options>

options常见的选项如下:

tables:查看当前库下的所有表
databases:查看当前实例下的所有数据库,不一定是所有库,和登陆用户的权限有关
create database db_name:show后接create database命令,表示查看名称为db_name的数据库的创建过程
create table table_name:show后接create table命令,表示查看名称为table_name的表的创建过程
warnings:查看sql执行的警告信息
events:查看当前数据库所对应的事件信息
binary logs | master logs:查看当前数据库实例对应的二进制日志文件信息(bin_log_pos和bin_log_file)
status:查看当前数据库实例的运行状态信息
index|indexes from table_name:查看指定表中的索引信息
...其他不常用选项此处暂时略,后续再介绍。

示例:查看当前登录用户有权查看的所有数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

由于使用的是root用户登录,故可以看到所有数据库;如果用某个普通用户登录,只能看到该用户有权查看的所有库,具体权限管理后期介绍。

3、创建数据库,使用create命令,create命令用法如下:

mysql> create <options>

options常见选项如下:

database db_name [option]:后接database关键字表示创建名称为db_name的数据库,option选项中可以指定字符集
table table_name [option]:后接table关键字表示创建名称为table_name的表,option选项中可以指定字符集
index index_name on table_name(field):后接index关键字表示在table_name表的field字段上创建名称为index_name的索引
procedure pro_name [option]:后接procedure关键字表示在当前库的某个表上创建一个存储过程,option选项表示具体的创建过程
...其他选项此处暂不介绍,后续再介绍。

示例:创建一个名称为db_shop的数据库,使用UTF8字符集,如下:

mysql> create database db_shop character set UTF8;
Query OK, 1 row affected (0.21 sec)
mysql> show databases;  #查看创建的数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db_shop            |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)
mysql> show create database db_shop;  #查看db_shop数据库的创建过程
+----------+------------------------------------------------------------------+
| Database | Create Database                                                  |
+----------+------------------------------------------------------------------+
| db_shop  | CREATE DATABASE `db_shop` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec)

4.创建表,在建表之前首先需要先选择数据库,使用use命令,用法如下:

mysql> use <db_name>

示例:在db_shop库中创建一个名称为t_goods的表,使用UTF8字符集,表中字段包括id(bigint),goods_name(varchar(50)),goods_price(bigint)[金钱类可以使用字符串或者分来存储,此处使用分来存储],create_time(datetime),创建过程如下:

mysql> use db_shop;  #选库
mysql> create table t_goods(id bigint primary key auto_increment,goods_name varchar(50) not null default '',goods_price bigint,create_time datetime) default character set UTF8;  #建表
Query OK, 0 rows affected (0.76 sec)
mysql> show tables;  #查看表
+-------------------+
| Tables_in_db_shop |
+-------------------+
| t_goods           |
+-------------------+
1 row in set (0.00 sec)
mysql> show create table t_goods \G     #查看创建库的过程,\G表示按行展示
*************************** 1. row ***************************
       Table: t_goods
Create Table: CREATE TABLE `t_goods` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `goods_name` varchar(50) NOT NULL DEFAULT '',
  `goods_price` bigint(20) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

注:MySQL常用数据类型如下,详细介绍请查看官方手册,后期sql优化会重点对比讲解每种类型的优缺点:

数值型整型:tinyint,smallint,mediumint,int,bigint
 浮点数类型:double,float,decimal
 字符串类型:char,varchar,varbinary
 长文本类型:text
 二进制类型:binary,blob
 日期类型:timestamp,datetime,time,date,year
 枚举类型:enum
 集合类型:set

5、删除表,使用"drop table"命令,用法如下:

mysql> drop table <table_name>

示例:删除名称为t_goods的表:

mysql> drop table t_goods;  #删除名称为t_goods的表
Query OK, 0 rows affected (0.16 sec)
mysql> show tables;   #查看当前库下的所有表
Empty set (0.00 sec)

6、删除数据库,使用"drop database"命令,用法如下:

mysql> drop database <db_name>;

示例:删除名称为db_shop的数据库:

mysql> drop database db_shop;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)

7、退出MySQL的方法:

(1)方法1:Ctrl+C
(2)方法2:"quit"命令
(3)方法3:\q

至此,数据库的基本操作之建库,建表,删库,删表操作介绍完毕,下一篇将介绍MySQL数据库的常见操作,包括DDL(数据定义语言),DCL(数据控制语言),DML(数据操纵语言),DQL(数据查询语言)。

相关推荐