MySQL处理数据库和表的常用命令

北京皮肤科权威医院 https://baike.baidu.com/item/%E5%8C%97%E4%BA%AC%E4%B8%AD%E7%A7%91%E7%99%BD%E7%99%9C%E9%A3%8E%E5%8C%BB%E9%99%A2/9728824?fr=aladdin
我是新手

研习何如经管和导航MySQL数据库和表是要把握的要紧职责之一,上面的实质将要紧对MySQL的数据库和表的一些罕听敕令举行归纳,一些咱们不得不把握的敕令,一些信手拈来的敕令。

处置数据库

观察数据库

获得效劳器上的数据库列表常常很实用。履行showdatabases;敕令就也许搞定。

mysqlshowdatabases;

创造数据库

mysqlcreatedatabasedb_test;QueryOK,1rowaffected(0.00sec)

行使数据库

数据库一旦创造,就也许经过“行使”(use敕令)数据库,将其指定为默许的处事数据库。

mysqlusedb_test;Databasechanged

节略数据库

节略数据库的方法与创造的方法很如同。也许在mysql客户端中行使drop敕令节略数据库,如下:

mysqldropdatabasedb_test;QueryOK,0rowsaffected(0.00sec)

处置表

这边将对何如创造、列出、观察、节略和批改MySQL数据库表。

创造表

表经过createtable语句来创造。创造表的历程中会行使分外多的选项和子句,在这边齐全归纳一遍也是不事实的,这边不过归纳最广泛的,此后碰到其它,再单个归纳。创造表的通常用法如下:

mysqlcreatetabletb_test(-idintunsignednotnullauto_increment,-firstnamevarchar(25)notnull,-lastnamevarchar(25)notnull,-emailvarchar(45)notnull,-phonevarchar(10)notnull,-primarykey(id));QueryOK,0rowsaffected(0.03sec)

记取,表起码包罗一列。其它,创造表此后老是也许再回过甚来批改表的组织。不论现时是不是在行使对象数据库,均也许创造表,唯有在表名前方加之对象数据库便可。比方:

mysqlcreatetabledb_test.tb_test(-idintunsignednotnullauto_increment,-firstnamevarchar(25)notnull,-lastnamevarchar(25)notnull,-emailvarchar(45)notnull,-phonevarchar(10)notnull,-primarykey(id));QueryOK,0rowsaffected(0.03sec)

有前提的创造表

在默许处境下,假设试图创造一个曾经存在的表,MySQL会形成一个差错。为了防止这个差错,createtable语句供给了一个子句,假设你指望在对象表曾经存在的处境下简洁地退出表创造,就也许行使这个子句。比方:

mysqlcreatetableifnotexistsdb_test.tb_test(-idintunsignednotnullauto_increment,-firstnamevarchar(25)notnull,-lastnamevarchar(25)notnull,-emailvarchar(45)notnull,-phonevarchar(10)notnull,-primarykey(id));QueryOK,0rowsaffected,1warning(0.00sec)

不论是不是曾经创造,都邑在返回到敕令提醒窗口时显示“QueryOK”音讯。

复制表

基于现有的表创造新表是一项很简洁的职责。如下代码将赢得tb_test表的一个副本,名为tb_test2:

mysqlcreatetabletb_test2select*fromdb_test.tb_test;QueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0

将向数据库增长一个雷同的表tb_test2。而有的时分,也许指望只基于现有表的几个列创造一个表。经过createselect语句中指定列就也许实现:

mysqldescribetb_test;+-----------+------------------+------+-----+---------+----------------+

Field

Type

Null

Key

Default

Extra

+-----------+------------------+------+-----+---------+----------------+

id

int(10)unsigned

NO

PRI

NULL

auto_increment

firstname

varchar(25)

NO

NULL

lastname

varchar(25)

NO

NULL

email

varchar(45)

NO

NULL

phone

varchar(10)

NO

NULL

+-----------+------------------+------+-----+---------+----------------+5rowsinset(0.01sec)mysqlcreatetabletb_test2selectid,firstname,lastname,emailfromtb_test;QueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0mysqldescribetb_test2;+-----------+------------------+------+-----+---------+-------+

Field

Type

Null

Key

Default

Extra

+-----------+------------------+------+-----+---------+-------+

id

int(10)unsigned

NO

0

firstname

varchar(25)

NO

NULL

lastname

varchar(25)

NO

NULL

email

varchar(45)

NO

NULL

+-----------+------------------+------+-----+---------+-------+4rowsinset(0.01sec)

创造权且表

有的时分,当处事在分外大的表上时,也许偶然需求运转良多盘问赢得一个大批数据的小的子集,不是对全部表运转这些盘问,而是让MySQL屡屡找出所需的多数纪录,将纪录保管到一个权且表也许更快一些,而后对这些权且表举行盘问职掌。也许经过行使temporary关键字和createtable语句来实现。

mysqlcreatetemporarytableemp_tempselectfirstname,lastnamefromtb_test;QueryOK,0rowsaffected(0.02sec)Records:0Duplicates:0Warnings:0

权且表的创造与其它表同样,不过它们保存在职掌系统指定的权且目录中。权且表将在你接连MySQL期间存在,当你断开时,MySQL将主动节略表并释放通盘的内存空间;自然了,你也也许手动的行使droptable敕令节略权且表。

观察数据库中可用的表

也许行使showtables敕令实现。比方:

mysqlshowtables;+-------------------+

Tables_in_db_test

+-------------------+

tb_test

tb_test2

+-------------------+2rowsinset(0.00sec)

观察表组织

也许行使describe语句观察表组织,比方:

mysqldescribetb_test;+-----------+------------------+------+-----+---------+----------------+

Field

Type

Null

Key

Default

Extra

+-----------+------------------+------+-----+---------+----------------+

id

int(10)unsigned

NO

PRI

NULL

auto_increment

firstname

varchar(25)

NO

NULL

lastname

varchar(25)

NO

NULL

email

varchar(45)

NO

NULL

phone

varchar(10)

NO

NULL

+-----------+------------------+------+-----+---------+----------------+5rowsinset(0.00sec)

其它,行使show敕令也能赢得雷同的终于,比方:

mysqlshowcolumnsintb_test;+-----------+------------------+------+-----+---------+----------------+

Field

Type

Null

Key

Default

Extra

+-----------+------------------+------+-----+---------+----------------+

id

int(10)unsigned

NO

PRI

NULL

auto_increment

firstname

varchar(25)

NO

NULL

lastname

varchar(25)

NO

NULL

email

varchar(45)

NO

NULL

phone

varchar(10)

NO

NULL

+-----------+------------------+------+-----+---------+----------------+5rowsinset(0.00sec)

节略表

节略表是行使droptable语句实现的,其语法如下:

drop[temporary]table[ifexists]tbl_name[,tbl_name,...]

改变表组织

咱们会觉察,咱们会屡屡批改和鼎新表组织,分外是在开采早期;不过,屡屡举行批改时无须都先节略再从新创造表。相悖,也许行使alter语句批改表的组织。操纵这个语句,也许再需求时节略、批改和增长列。和createtable同样,altertable供给了良多子句、关键字和选项。这边不过会说一些简洁的行使,譬如在表tb_demo表中插入一列,示意email,代码如下:

mysqlaltertabletb_demoaddcolumnemailvarchar(45);QueryOK,0rowsaffected(0.14sec)Records:0Duplicates:0Warnings:0

新的列放在表的着末地位。不过,还也许行使恰当的关键字(包罗first、after和last)来掌握新列的地位。假设想批改表,譬如,方才加的email,我想参加一个notnull掌握,代码可所以如此的:

mysqlaltertabletb_demochangeemailemailvarchar(45)notnull;QueryOK,0rowsaffected(0.11sec)Records:0Duplicates:0Warnings:0

假设觉的这个email这列没有存在的需求了,也许行使上面的代码节略它,比方:

mysqlaltertabletb_demodropemail;QueryOK,0rowsaffected(0.09sec)Records:0Duplicates:0Warnings:0我不是新手

这篇文章大概上归纳了与MySQL打交道时罕用的一些敕令,指望对众人有辅助。看完这篇文章,你理当觉得你曾经不是新手了,假设上头的敕令你都实习过一遍此后,你理当比60%的人都相熟MySQL数据库。便是如此,越简洁的东西,越是有良多人不会。

新朋侪请您点击右上角PHP互联网开采者社区也许扫描下方


转载请注明:http://www.aierlanlan.com/rzdk/1129.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了