加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL教程MySQL操作数据库和表的常用命令新手教程

发布时间:2020-12-12 01:04:06 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL教程MySQL操作数据库和表的常用命令新手教程》要点: 本文介绍了MYSQL教程MySQL操作数据库和表的常用命令新手教程,希望对您有用。如果有疑问,可以联系我们。 我是新手 MYSQL应用 学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内

《MYSQL教程MySQL操作数据库和表的常用命令新手教程》要点:
本文介绍了MYSQL教程MySQL操作数据库和表的常用命令新手教程,希望对您有用。如果有疑问,可以联系我们。

我是新手MYSQL应用

学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得不掌握的命令,一些信手拈来的命令.MYSQL应用

处理数据库MYSQL应用

1.查看数据库MYSQL应用

获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定.
MYSQL应用

代码如下:
mysql> show databases;

2.创建数据库MYSQL应用

代码如下:
mysql> create database db_test;
Query OK,1 row affected (0.00 sec)

3.使用数据库MYSQL应用

数据库一旦创建,就可以通过“使用”(use命令)数据库,将其指定为默认的工作数据库.
MYSQL应用

代码如下:
mysql> use db_test;
Database changed

4.删除数据库MYSQL应用

删除数据库的方式与创建的方式很相似.可以在mysql客户端中使用drop命令删除数据库,如下:
MYSQL应用

代码如下:
mysql> drop database db_test;
Query OK,0 rows affected (0.00 sec)

处理表MYSQL应用

这里将对如何创建、列出、查看、删除和修改MySQL数据库表.MYSQL应用

1.创建表MYSQL应用

表通过create table语句来创建.创建表的过程中会使用非常多的选项和子句,在这里完全总结一遍也是不现实的,这里只是总结最普遍的,以后遇到别的,再单个总结.创建表的一般用法如下:
MYSQL应用

代码如下:
mysql> create table tb_test(
??? -> id int unsigned not null auto_increment,
??? -> firstname varchar(25) not null,
??? -> lastname varchar(25) not null,
??? -> email varchar(45) not null,
??? -> phone varchar(10) not null,
??? -> primary key(id));
Query OK,0 rows affected (0.03 sec)

记住,表至少包含一列.另外,创建表之后总是可以再回过头来修改表的结构.无论当前是否在使用目标数据库,都可以创建表,只要在表名前面加上目标数据库即可.例如:
MYSQL应用

代码如下:
mysql> create table db_test.tb_test(
??? -> id int unsigned not null auto_increment,0 rows affected (0.03 sec)

2.有条件的创建表MYSQL应用

在默认情况下,如果试图创建一个已经存在的表,MySQL会产生一个错误.为了避免这个错误,create table语句提供了一个子句,如果你希望在目标表已经存在的情况下简单地退出表创建,就可以使用这个子句.例如:
MYSQL应用

代码如下:
mysql> create table if not exists db_test.tb_test(
??? -> id int unsigned not null auto_increment,0 rows affected,1 warning (0.00 sec)

无论是否已经创建,都会在返回到命令提示窗口时显示“Query OK”消息.MYSQL应用

3.复制表MYSQL应用

基于现有的表创建新表是一项很容易的任务.以下代码将得到tb_test表的一个副本,名为tb_test2:MYSQL应用

代码如下:
mysql> create table tb_test2 select * from db_test.tb_test;
Query OK,0 rows affected (0.03 sec)
Records: 0? Duplicates: 0? Warnings: 0

将向数据库增加一个相同的表tb_test2.而有的时候,可能希望只基于现有表的几个列创建一个表.通过create select语句中指定列就可以实现:
MYSQL应用

代码如下:
mysql> describe tb_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??? |??????????????? |
+-----------+------------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
mysql> create table tb_test2 select id,firstname,lastname,email from tb_test;
Query OK,0 rows affected (0.03 sec)
Records: 0? Duplicates: 0? Warnings: 0
mysql> describe tb_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??? |?????? |
+-----------+------------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

4.创建临时表MYSQL应用

有的时候,当工作在非常大的表上时,可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录保存到一个临时表可能更快一些,然后对这些临时表进行查询操作.可以通过使用temporary关键字和create table语句来实现.
MYSQL应用

代码如下:
mysql> create temporary table emp_temp select firstname,lastname from tb_test;
Query OK,0 rows affected (0.02 sec)
Records: 0? Duplicates: 0? Warnings: 0

临时表的创建与其它表一样,只是它们存储在操作系统指定的临时目录中.临时表将在你连接MySQL期间存在,当你断开时,MySQL将自动删除表并释放所有的内存空间;当然了,你也可以手动的使用drop table命令删除临时表.

5.查看数据库中可用的表MYSQL应用

可以使用show tables命令完成.例如:
MYSQL应用

代码如下:
mysql> show tables;
+-------------------+
| Tables_in_db_test |
+-------------------+
| tb_test?????????? |
| tb_test2????????? |
+-------------------+
2 rows in set (0.00 sec)

6.查看表结构MYSQL应用

可以使用describe语句查看表结构,例如:
MYSQL应用

代码如下:
mysql> describe tb_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??? |??????????????? |
+-----------+------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

另外,使用show命令也能得到相同的结果,例如:
MYSQL应用

代码如下:
mysql> show columns in tb_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??? |??????????????? |
+-----------+------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

7.删除表MYSQL应用

删除表是使用drop table语句实现的,其语法如下:
MYSQL应用

代码如下:
drop [temporary] table [if exists] tbl_name [,tbl_name,...]

8.更改表结构MYSQL应用

我们会发现,我们会经常修改和改进表结构,特别是在开发初期;但是,每次进行修改时不必都先删除再重新创建表.相反,可以使用alter语句修改表的结构.利用这个语句,可以再必要时删除、修改和增加列.和create table一样,alter table提供了很多子句、关键字和选项.这里只是会说一些简单的使用,比如在表tb_demo表中插入一列,表示email,代码如下:
MYSQL应用

代码如下:
mysql> alter table tb_demo add column email varchar(45);
Query OK,0 rows affected (0.14 sec)
Records: 0? Duplicates: 0? Warnings: 0

新的列放在表的最后位置.不过,还可以使用适当的关键字(包括first、after和last)来控制新列的位置.如果想修改表,比如,刚刚加的email,我想加入一个not null控制,代码可以是这样的:
MYSQL应用

代码如下:
mysql> alter table tb_demo change email email varchar(45) not null;
Query OK,0 rows affected (0.11 sec)
Records: 0? Duplicates: 0? Warnings: 0

如果觉的这个email这列没有存在的必要了,可以使用下面的代码删除它,例如:
代码如下:
mysql> alter table tb_demo drop email;
Query OK,0 rows affected (0.09 sec)
Records: 0? Duplicates: 0? Warnings: 0

我不是新手MYSQL应用

这篇文章大体上总结了与MySQL打交道时常用的一些命令,希望对大家有帮助.看完这篇文章,你应该认为你已经不是新手了,如果上面的命令你都实践过一遍以后,你应该比60%的人都熟悉MySQL数据库.就是这样,越简单的东西,越是有很多人不会.MYSQL应用

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读