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

我是新手

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

处理数据库

1.查看数据库

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

代码如下:

mysql> show databases;

2.创建数据库

代码如下:

mysql> create database db_test;
Query OK, 1 row affected (0.00 sec)

3.使用数据库

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

代码如下:

mysql> use db_test;
Database changed

4.删除数据库

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

代码如下:

mysql> drop database db_test;
Query OK, 0 rows affected (0.00 sec)

处理表

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

1.创建表

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

代码如下:

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> create table db_test.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)

2.有条件的创建表

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

代码如下:

mysql> create table if not exists db_test.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, 1 warning (0.00 sec)

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

3.复制表

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

代码如下:

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> 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每次找出所需的少数记录,将记录保存到一个临时表可能更快一些,然后对这些临时表进行查询操作。可以通过使用temporary关键字和create table语句来实现。

代码如下:

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.查看数据库中可用的表

可以使用show tables命令完成。例如:

代码如下:

mysql> show tables;
+-------------------+
| Tables_in_db_test |
+-------------------+
| tb_test           |
| tb_test2          |
+-------------------+
2 rows in set (0.00 sec)

6.查看表结构

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

代码如下:

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> 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.删除表

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

代码如下:

drop [temporary] table [if exists] tbl_name [, tbl_name, ...]

8.更改表结构

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

代码如下:

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

(0)

相关推荐

  • 分享一下Mysql常见的几个错误问题及解决方法

    1.问题: mysql DNS反解:skip-name-resolve   错误日志有类似警告: 1.120119 16:26:04 [Warning] IP address '192.168.1.10' could not be resolved: Name or service not known 2.120119 16:26:04 [Warning] IP address '192.168.1.14' could not be resolved: Name or service not k

  • MySQL新手入门指南--快速参考

    一.SQL速成 以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册. 1.创建表 表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联.创建表的基本语法如下: create table table_name (column_name datatype {identity |null|not null}, -) 其中参数table_name和column_name必须满足用户数据库中的识别器(identifier)的要求,参数dataty

  • mysql常见的错误提示问题处理小结

    1.mysql服务无法启动,报1067错误 解决方案: 1).把mysql服务端解压目录新加一个my.ini文件,内容如下 [mysqld] # set basedir to installation path, e.g., c:/mysql # 设置为MYSQL的安装目录 basedir=c:/tool/mysql5617win32 # set datadir to location of data directory, # e.g., c:/mysql/data or d:/mydata/d

  • mysql常见错误集锦

    #1067 - Invalid default value for 'xxx' 当修改表中某字段的时候,出现了这个错误.显示:字段名称已存在错误.只好删除该字段,重新添加 UTF-8导入MYSQL中文无显示今天把本地的MYSQL数据导出到web service,结果发现中文字符全不见了.配置如下: 程序代码   导出数据库5.0.45.字符集:UTF-8     导入数据库数据库5.0.22,也是UTF-8 结果发现是phpadmin版本不兼容,以至于导出数据出现问题,使用mysqldump指令

  • 关于mysql调用新手们常犯的11个错误总结

    前言 大家可能经常收到安全部门的警告邮件,SQL注入,XSS攻击漏洞等等,偶尔还被黑客挂了小马,郁闷不?还有数据库执行太慢(根据经验基本是没有正确使用索引导致) ,下面就跟着小编来一起看看MYSQL新手们常犯的11个错误吧. 1.使用MyISAM而不是InnoDB MySQL有很多的数据库引擎,单一般也就用MyISAM和InnoDB. MyISAM是默认使用的.但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的.MyISAM不支持外键的 约束,这是保证数据完整

  • MySQL常见错误有哪些_MySQL常见错误的快速解决方法

    1. TokuFT file system space is really low and access is restricted 解决方法:修改tokudb_fs_reserve_percent参数,不过该参数是静止参数,需重启实例 2. 以上这篇MySQL常见错误有哪些_MySQL常见错误的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 新手配置 PHP 调试环境(IIS+PHP+MYSQL)

    目的:配置运行PHP的环境(IIS+PHP+MYSQL+CF+Perl)支持php+cgi+asp+jsp等 操作系统:windows2000 advance server(sp3)简体中文版 需要相关软件: 一:php-4.3.0-Win32.zip ,到相应站点下载,我上传文件不方便,以下同. 二:ActivePerl-5.6.1.635-MSWin32-x86.msi ,注意,必须下载安装文件,就是说.msi的,不要下原代码了,我也不会弄原代码,加装这个支持cgi,如果你不想支持cgi也可

  • MySQL 常见错误分析与解决方法

     一.Can't connect to MySQL server on 'localhost'(10061)? 翻译:不能连接到localhost 上的mysql?分析:这说明"localhost"计算机是存在的,但在这台机器上却没提供MySQL服务.?需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误.?解决:既然没有启动那就去启动这台机子的mysql.如果启动不成功,多数是因为你的my.ini配置的有问题.重新配置其即可.?如果觉得mysql负载异常,

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

    我是新手 学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得不掌握的命令,一些信手拈来的命令. 处理数据库 1.查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. 复制代码 代码如下: mysql> show databases; 2.创建数据库 复制代码 代码如下: mysql> create database db_test; Query OK, 1 ro

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

    学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得不掌握的命令,一些信手拈来的命令. 一.处理数据库 1.查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. mysql> show databases; 2.创建数据库 mysql> create database db_test; Query OK, 1 row affected (0.00 sec) 3.使

  • MySQL数据库基础入门之常用命令小结

    本文实例讲述了MySQL数据库基础入门之常用命令.分享给大家供大家参考,具体如下: 接上一篇:MySQL数据库主从同步实战过程 mysql命令介绍 mysql 是数据库管理命令 通过mysql --help来查看相关参数及使用说明 mysql --help #mysql数据库管理命令 Usage: mysql [OPTIONS] [database] #语法格式 --help #查看帮助文档 --auto-rehash #自动补全功能 -A, --no-auto-rehash #不需自动补全 -

  • mysql 操作数据库基础详解

    目录 一.介绍 二.SQL分类 三.基本操作 创建 查询 修改 删除 使用数据库 一.介绍 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. 是最流行的关系型数据库管理系统之一. 二.SQL分类 SQL语句的五种分类分别是DDL.DML.DDL.DQL.DCL. 数据定义语言(DDL) 用来创建数据库中的各种对象,创建.删除.修改表的结构.关键字:create, drop,alter 等 数据操作语言(DM

  • 关于php操作mysql执行数据库查询的一些常用操作汇总

    php操作mysql步骤:1.$connect=mysql_connect('localhost','root','123456') or die('数据库连接失败.'mysql_error());链接mysql.2.mysql_select_db('database',$connect)选择链接的数据库.3.mysql_query('Set names gb2312');$sql = "select * from blog_article";准备要查询的数据.4.$datas = m

  • Mysql学习之创建和操作数据库及表DDL大全小白篇

    目录 1.操作数据库 1.1创建数据库 1.2查询数据库 1.3修改数据库 1.4删除数据库 1.5使用数据库 2.操作表 2.1MySQL数据类型 2.2创建表 2.3查询表 2.4删除表 2.5修改表 1.操作数据库 1.1创建数据库 create + database + 数据库名称 当然如果我们不知道数据库是否存在,如果存在就不创建,不存在就创建可以用以下语句 create + database + if not exists + 数据库名称 我们还可以在创建数据库的时候指定字符集 cr

  • MySQL导入导出.sql文件及常用命令小结

    在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> source c:\\test.sql; 另附mysql常用命令: (一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL 首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令mysql -uroot -p,回车后提示你输密码,

  • mysql跨数据库复制表(在同一IP地址中)示例

    数据库表间数据复制分类 在利用数据库开发时,常常会将一些表之间的数据互相导入.当然可以编写程序实现,但是,程序常常需要开发环境,不方便.最方便是利用sql语言直接导入.既方便而修改也简单.以下就是导入的方法. 1. 表结构相同的表,且在同一数据库(如,table1,table2) Sql : 复制代码 代码如下: insert into table1 select   *    from table2 (完全复制)insert into table1 select   distinct   * 

  • postgreSQL数据库默认用户postgres常用命令分享

    1.修改用户postgres的密码 #alter user postgres with password 'xxxx';(其中xxxx是修改的密码). 2.查看下当前schema的所有者: // 查看当前schema的所有者,相当于\du元命令 SELECT n.nspname AS "Name", pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner" FROM pg_catalog.pg_namespace n WHE

  • MySQL的LEFT JOIN表连接的进阶学习教程

    LEFT JOIN的主表 这里所说的主表是指在连接查询里MySQL以哪个表为主进行查询.比如说在LEFT JOIN查询里,一般来说左表就是主表,但这只是经验之谈,很多时候经验主义是靠不住的,为了说明问题,先来个例子,建两个演示用的表categories和posts: CREATE TABLE IF NOT EXISTS `categories` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(15) NOT NULL

随机推荐