MySQL之基础操作

前言

为什么会想到学数据库呢?因为要做后端开发,除了要会PHP或者Java这些语言,也要掌握一定的数据库知识。因此我选择最热门的关系型数据库管理系统——MySQL,也把它当作兴趣来拓展学习。

备注

本文的所有指令都是通过在命令行中输入指令的方式来实现(即DOS界面下输入指令)。
关于MySQL的安装与配置这部分就不作介绍,小伙伴们可以查找这部分的资料,自行安装与配置。另外其他一些例如修改MySQL提示符等拓展操作,有兴趣的小伙伴也可以自己试试。

有关MySQL的操作

要使用MySQL进行数据库的操作,首先就是要启动MySQL服务。在命令行中输入:net start mysql57(至于这里为什么是mysql57之后将会介绍),然后回车:

启动MySQL

这样我们的MySQL就启动成功了。当然,如果MySQL已经启动了,再输入刚才的启动指令肯定是会报错的:

再报错

PS:这里告诉大家一个小技巧:使用键盘的Up键和Down键可以重复之前已经输入过的指令,这样就能帮我们节约不少时间。

如果想关闭MySQl服务,也是输入类似的指令: net stop mysql57,MySQL服务就能正常关闭了:

关闭MySQL

回到刚才的问题,为什么是start mysql57,正常来说不应该是start mysql吗?理由可能会有些简单粗暴:因为我装的是5.7版本的MySQL。当然这并不是重点 ,这里告诉大家,除了上述的启动方式之外,我们还可以直接通过计算机的服务来启动MySQL:右键“计算机”(或者“我的电脑”),点击“管理”,再点击“服务和应用程序”中的“服务”,就会显示电脑中已安装的所有服务。我们会发现这里并没有MySQL服务,只有一个MySQL57服务,这是因为MySQL新版本中服务名字更改了,因此在用命令行启动服务的时候要输入新的名字。
右键想要启动的服务然后点击“启动”,就能正常启动服务了(同样还有停止、重新启动等操作,也是可以执行的)。
这里也启发我们:那可不可以用命令行的方式来启动列表中所示的其他服务呢?答案是可以的,小伙伴们可以自己试试哦。

通过计算机服务启动MySQL

启动了MySQL之后,接下来要做的就是登录MySQL。登陆的话就要用到用户名和密码了,在我们配置MySQL的时候,曾经设置了一个超级用户,用户名是root,密码需要自己设定。由于小编很懒,密码也设置成了root,因此登陆的操作为:mysql -uroot -proot

登录MySQL(1)

这样就登陆成功了。细心的小伙伴会发现第二行出现了一个警告(Warning),大致意思为直接把密码输入到界面上是不安全,即你的密码有可能会被别人看到。因此,我们最好采用这种方法登录:mysql -uroot -p

输入密码

这时候输入的密码会以*的形式出现在屏幕上,就能安全地登录MySQL,也不会出现警告了:

登录MySQL(2)

这里用到的是mysql参数(因此小伙伴们就不能类比上面启动与关闭MySQL的操作,把mysql换成mysql57,这样是错误的),类似于-u、-p这样的参数还有一些,大家可以自己尝试输入,看看会出现什么效果:

mysql参数

登录后如果要退出MySQL,有三种方式可供选择:

  • exit;
  • quit;
  • \q;
退出MySQL

再介绍一些MySQL常用命令(都需要已登录MySQL):

  • SELECT VERSION();
显示当前服务器版本
  • SELECT NOW();
显示当前日期时间
  • SELECT USER();
显示当前用户

这里要注意的是,输入SELECT USER();命令之前,要打开MySQL里的数据库,否则就会报错,有关数据库的操作将在下文介绍:

报错

另外,和所有的编程语言一样,MySQL也有自己的语法规范:

  • 关键字与函数名称全部大写
  • 数据库、数据表和字段名称全部小写
  • SQL语句必须以分号结尾

这些语法规范都会在下文得以体现。

有关数据库的操作

首先我们可以查看当前已创建的数据库:SHOW DATABASES;

查看数据库(1)

可以看到,在没有对数据库进行任何操作的情况下,只有MySQL自带的6个数据库(自带数据库可能会因MySQL版本的不同而不同,大家不必在意)。
上面查看数据库的指令中,SHOWDATABASES都是关键字,因此要大写,列表中的数据库名称则为小写,而且语句要以分号结尾。如果没有在语句末尾加上分号会出现什么情况呢?我们来试一下:

查看数据库(2)

可以看到如果语句末尾没有分号,就算我们多次按回车,MySQL依旧接收不到指令,直到我们加上一个分号。
我们可以创建数据库:CREATE DATABASE [IF NOT EXISTS] 数据库名称 [DEFAULT] CHARACTER SET [=] 编码方式。例如我们创建一个名为't1'的数据库,并检验是否创建成功:

创建数据库(1)

指令中中括号内的IF NOT EXISTS是什么意思呢?如果我们不加上它们,再重复创建一个名为't1'的数据库的话,就会报错:

报错

如果加上IF NOT EXISTS关键字,重复创建一个名为't1'的数据库,虽然也是不允许的,但不会发送错误信息,意思是在创建指令中加上'IF NOT EXISTS'并创建一个已经存在的数据库时,MySQL会忽略错误:

不报错

上面指令后面那部分则是设定数据库中数据的编码方式。先输入SHOW CREATE DATABASE 数据库名称指令查看数据库't1'创建时的信息:

数据库创建信息(1)

这里可以看到,数据库默认的编码方式为'utf-8'。因此如果我们想再创建一个编码方式为'GBK'的数据库't2',就要用到指令的后半部分了(指令中的DEFALUT=均可以省略):

数据库创建信息(2)

这样,数据库的编码方式就成了'GBK'。
当我们觉得数据库的编码方式不恰当时,我们可以进行修改:ALTER DATABASE 数据库名称 [DEFAULT] CHARACTER SET [=] 编码方式

修改数据库

当然,能创建能修改,自然我们也可以删除数据库:DROP DATABASE [IF EXISTS] 数据库名称

删除数据表

这里IF EXISTS的作用与创建指令中的IF NOT EXISTS 类似:如果要删除的数据库不存在,同样不会发送错误信息。
PS:建议大家每进行一次对数据库的操作后就使用查看数据库或者查看创建信息的指令,对刚才的操作进行检查(出现错误别忘了之前说过的键盘回滚功能哦,真心好用呢)。
如果想要使用已创建的数据库,就要用到USE 数据库名称;的指令。使用的操作是否成功呢?我们可以用SELECT DATABASE();的指令来查看当前正在使用的数据库:

使用数据库(1)

当然我们肯定不能使用不存在(即未创建或者已删除)的数据库(上面的演示中已经删除了数据库't1'):

使用数据库(2)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,607评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,239评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,960评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,750评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,764评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,604评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,347评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,253评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,702评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,893评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,015评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,734评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,352评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,934评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,052评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,216评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,969评论 2 355

推荐阅读更多精彩内容