Zhangdragonfly 2019-06-27
一、基本操作之建库(非图形界面工具操作):
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(数据查询语言)。