MySQL通常情况下操作的时候都有图形客户端,但是在某些环境下,是没有提供客户端的,这个时候就需要使用基本的命令行去操作。本篇文章主要介绍MySQL的常用基本操作之"建库,建表,删库,删表"。两分钟系列!

1、连接数据库

首先需要连接到MySQL数据库,常见的连接工具工具为:"mysql"客户端命令,基本用法如下:

[root@WB-BLOG ~]# mysql 

解释:options中常用的选项有如下几个:

-u:指定连接数据库实例所使用的用户名;

-p:指定连接数据库实例所使用的密码;

-h:指定需要连接的目标数据实例所在主机的ip地址或者域名,如果是服务器本地连接,可省略;

-P:指定需要连接的目标数据库实例所监听的tcp端口,注意是大写的P。如果使用的是默认端口,此选项可省略;

-s:通过Unix套接字文件链接mysql实例;

...当然,mysql命令行支持的参数远不止这些,该命令还有其他很多不太常用的选项,可以自行使用"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; #创建名称为db_shop的数据库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_goodsCreate 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=utf81 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 去空格_MySQL基本命令操作相关推荐

  1. mysql 去空格_MySQL安装与步骤

    Navicat Premiun安装 点击箭头位置 如果在你的U盘里最好移动到D盘并创建目录(目录名你知道就可以了) 双击进去->如果D盘没有这上面所说的的文件名可以不用管 这里可以不用动只要把东 ...

  2. mysql数据库属性_mysql - 数据库操作和数据属性

    数据库操作 启动 mysql, mac 可通过 brew 安装 mysql 后启动. window 需要手动配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14mysql.serve ...

  3. mysql 命令类型_mysql 基本命令(3)-数据类型和运算符

    一.数值类型 1.数据类型有:数值类型.日i期类型.字符串类型. 2.int(20),int 指整数的取值范围,里面的参数20,只是表示数据显示的宽度.显示宽度和数据类型的取值范围是无关的.显示宽度只 ...

  4. mysql存储过程时间_mysql时间操作函数和存储过程

    因为业务须要统计一批数据.用到关于mysql的时间操作函数和存储过程,问题已经基本解决.把过程记录下: 1. mysql的语句中不支持直接用循环.循环仅仅能在存储过程中使用. 2. 写为文件时,注意一 ...

  5. mysql 传统数据恢复_MySQL误操作后如何快速恢复数据 传统解法 利用binlog2sql快速闪回 常见问题 参考资料...

    MySQL误操作后如何快速恢复数据 摘要: 利用binlog闪回误操作数据. 基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,不小心upda ...

  6. mysql delete 标记_MySQL删除操作其实是假删除

    在 InnoDB 中,你的 delete 操作,并不会真的把数据删除,mysql 实际上只是给删除的数据打了个标记,标记为删除,因此你使用 delete 删除表中的数据,表文件在磁盘上所占空间不会变小 ...

  7. mysql设备台账_mysql数据库操作语句大全.pdf

    mysql数据库操作语句大全.pdf mysql数据库操作语句大全(常用操作指令)一 . 常用mysql命令行命令1.启动MYSQL服务 netstartmysql停止MYSQL服务 stat na| ...

  8. mysql 查询空格_mysql查询字段中带空格的值的sql语句

    查找字段有空格的方法我们可以使用replace替换或使用trim直接查询删除,下面我就先来给各位介绍这两个函数的例子,然后再进行举例说明. (1)mysql replace 函数 语法:replace ...

  9. mysql密码高级_mysql高级操作

    连接数据库 # mysql -uroot -p -h10.18.44.209 -p3306 授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRAN ...

最新文章

  1. Tomcat6(含Tomcat6)之后默认没有common,server和shared文件夹,如何配置
  2. 熬10天夜,肝出了这个PDF版“软件安装手册”(附下载)
  3. resin安装与配置
  4. Autofac 一个使用Demo
  5. AtCoder AGC043C Giant Graph (图论、SG函数、FWT)
  6. 12种NumpyPandas高效技巧
  7. php铺满,重复铺满水印 - Jun. - OSCHINA - 中文开源技术交流社区
  8. Spring的事务管理难点剖析(1):DAO和事务管理的牵绊
  9. 海康相机SDK+halcon17(64位)+MFC+VS(64位)联合开发遇到的问题(在使用GenImage3Extern将RGB数据转换为halcon图像时出现异常情况处理)
  10. rstudio server docker 部署_Docker环境运行Spring Cloud项目
  11. 西电Pintos操作系统课程设计 实验四
  12. 不再因BT吃官司 Magnet能否将BT漂白?
  13. Apex英雄下载慢的解决方法|Apex英雄离线包分享
  14. python Numpy中的array函数讲解及各参数含义
  15. USB xHCI控制器使用总结
  16. 数据结构-单链表基本操作带图完整详解
  17. 神经放射学诊断中的MRI数据分析
  18. 奈飞win10安装包_Windows10系统修复Netflix应用程序错误
  19. 三个月从GRE小白到327
  20. 药业借CRM 提升企业营销管理能力

热门文章

  1. linux查看标准错误码工具
  2. Linux 常用解压缩命令
  3. Android Sensor架构和原理分析
  4. mysql之查询用户名
  5. Educoder Matplotlib和Seaborn 三维图 第一关绘制三维图
  6. python json转xml_Python中xml和json格式相互转换操作示例
  7. java children_java构建树形列表(带children属性)
  8. c 连接mysql数据库_C++连接mysql数据库的两种方法
  9. 2021年南阳市五中高考成绩查询,南阳市“赫赫有名”的五大高中,2020年高考成绩一目了然!...
  10. python导入类有红线_解决Python中导入自己写的类,被划红线,但不影响执行的问题...