资讯专栏INFORMATION COLUMN

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

Juven / 2644人阅读

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

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

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

[root@WB-BLOG ~]# mysql 

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常见的选项如下:

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常见选项如下:

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_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 

示例:删除名称为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_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(数据查询语言)。

后续文章将更新在个人小站上,欢迎查看。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/47771.html

相关文章

  • 不小心删库是一种怎样的体验?半个DBA的跑路经验总结。

    摘要:最近这篇不小心删库是一种怎样的体验比较火,蹭个热度讲讲半个的删库经验。下线一定要走流程。冷备便是应对这种情况。公司应该有自己的备份方案,并且保证执行到位。包括梳理具体的执行步骤执行命令和每个步骤的预计结果。宁愿延期,不要加戏。 最近这篇《不小心删库是一种怎样的体验?》(https://www.zhihu.com/questio...)比较火,蹭个热度讲讲半个DBA的删库经验。 大半夜的...

    Aceyclee 评论0 收藏0
  • 不小心删库是一种怎样的体验?半个DBA的跑路经验总结。

    摘要:最近这篇不小心删库是一种怎样的体验比较火,蹭个热度讲讲半个的删库经验。下线一定要走流程。冷备便是应对这种情况。公司应该有自己的备份方案,并且保证执行到位。包括梳理具体的执行步骤执行命令和每个步骤的预计结果。宁愿延期,不要加戏。 最近这篇《不小心删库是一种怎样的体验?》(https://www.zhihu.com/questio...)比较火,蹭个热度讲讲半个DBA的删库经验。 大半夜的...

    kyanag 评论0 收藏0
  • 不小心删库是一种怎样的体验?半个DBA的跑路经验总结。

    摘要:最近这篇不小心删库是一种怎样的体验比较火,蹭个热度讲讲半个的删库经验。下线一定要走流程。冷备便是应对这种情况。公司应该有自己的备份方案,并且保证执行到位。包括梳理具体的执行步骤执行命令和每个步骤的预计结果。宁愿延期,不要加戏。 最近这篇《不小心删库是一种怎样的体验?》(https://www.zhihu.com/questio...)比较火,蹭个热度讲讲半个DBA的删库经验。 大半夜的...

    zorpan 评论0 收藏0
  • 不小心删库是一种怎样的体验?半个DBA的跑路经验总结。

    摘要:最近这篇不小心删库是一种怎样的体验比较火,蹭个热度讲讲半个的删库经验。下线一定要走流程。冷备便是应对这种情况。公司应该有自己的备份方案,并且保证执行到位。包括梳理具体的执行步骤执行命令和每个步骤的预计结果。宁愿延期,不要加戏。 最近这篇《不小心删库是一种怎样的体验?》(https://www.zhihu.com/questio...)比较火,蹭个热度讲讲半个DBA的删库经验。 大半夜的...

    Cheriselalala 评论0 收藏0
  • 尝试用binlog恢复mysql数据

    摘要:介绍又称归档日志是专门用来记录逻辑的监控并记录你在干啥,比如有没有偷偷删表删库位于层,因此所有的存储引擎都可以使用没有固定大小,会追加写入且不会覆盖旧的开启和配置首先我们要检查下我们是否开启了输入命令,变量为表示已开启如何开启直接添加即可, Binlog介绍: Binlog又称归档日志是专门用来记录逻辑的 (监控并记录你在干啥,比如有没有偷偷删表删库??) Binlog位于ser...

    kelvinlee 评论0 收藏0

发表评论

0条评论

Juven

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<