(My)SQL 使用入门

  • Post author:
  • Post category:其他


这里用了(My)SQL 这样的标题,目的是在介绍标准 SQL 的同时,也将一些 MySQL 在标准 SQL 上的扩展一同介绍给大家。希望读者看完本节后,能够对标准 SQL 的基本语法和 MySQL 的 部分扩展语法有所了解。

一、 SQL 分类


SQL 语句主要可以划分为以下 3 个类别


  • DDL(Data Definition Languages)语句:

    数据定义语言,这些语句定义了不同的数据段、 数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter 等。

  • DML(Data Manipulation Language)语句:

    数据操纵语句,用于添加、删除、更新和查 询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、udpate 和 select 等。

  • DCL(Data Control Language)语句:

    数据控制语句,用于控制不同数据段直接的许可和 访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的 语句关键字包括 grant、revoke 等。

二、DDL 语句

DDL 是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的 操作语言。它和 DML 语言的最大区别是 DML 只是对表内部数据的操作,而不涉及到表的定 义、结构的修改,更不会涉及到其他对象。DDL 语句更多的被数据库管理员(DBA)所使用, 一般的开发人员很少使用。


下面通过一些例子来介绍 MySQL 中常用 DDL 语句的使用方法

1.创建数据库


启动 MySQL 服务之后,输入以下命令连接到 MySQL 服务器:

[mysql@db3 ~]$ mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 7344941 to server version: 5.1.9-beta-log

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql>

在以上命令行中,mysql代表客户端命令,-u后面跟连接的数据库用户,-p 表示需要输入密码。

如果数据库设置正常,并输入正确的密码,将看到上面一段欢迎界面和一个 mysql>提示符。

在欢迎界面中介绍了以下几部分内容。

  • 命令的结束符,用;或者\g 结束。
  • 客户端的连接 ID,这个数字记录了 MySQL 服务到目前为止的连接次数,每个新连接都会 自动加 1,本例中是 7344941。
  • MySQL 服务器的版本,本例中是“5.1.9-beta-log”,说明是 5.1.9 的测试版,如果是标准 版,则会用 Standard 代替 Beta。
  • 通过“help;”或者“\h”命令来显示帮助内容,通过“\c”命令来清除命令行 buffer。 在 mysql>提示符后面输入所要执行的的 SQL 语句,每个 SQL 语句以分号或者\g 结束,按回 车键执行。


因为所有的数据都存储在数据库中,因此需要学习的第一个命令是创建数据库,语法如下所示:


CREATE DATABASE dbname


例如,创建数据库 test1,命令执行如下:

mysql> create database test1;

Query OK, 1 row affected (0.00 sec)

可以发现,执行完创建命令后,下面有一行提示“Query OK, 1 row affected (0.00 sec)”,这段 提示可以分为 3 部分,“Query OK”表示上面的命令执行成功,读者可能奇怪,又不是执行 查询操作,为什么显示查询成功?其实这是 MySQL 的一个特点,所有的 DDL 和 DML(不包 括 SELECT)操作执行成功后都显示“Query OK”,这里理解为执行成功就可以了;“1 row affected”表示操作只影响了数据库中一行的记录,“0.00 sec”则记录了操作执行的时间。 如果已经存在这个数据库,系统会提示:

mysql> create database test1; ERROR 1007 (HY000): Can’t create database ‘test1’; database exists 这个时候,如果需要知道系统中都存在哪些数据库,可以用以下命令来查看:

mysql> show databases;

+——————–+

| Database |

+——————–+ |

information_schema |

| cluster |

| mysql |

| test |

| test1 |

+——————–+

5 rows in set (0.00 sec)

可以发现,在上面的列表中除了刚刚创建的 test1 外,还有另外 4 个数据库,它们都是安装 MySQL 时系统自动创建的,其各自功能如下。


  • information_schema:

    主要存储了系统中的一些数据库对象信息。比如用户表信息、列信 息、权限信息、字符集信息、分区信息等。

  • cluster:

    存储了系统的集群信息。

  • mysql:

    存储了系统的用户权限信息。

  • test:

    系统自动创建的测试数据库,任何用户都可以使用。


Java教程,零基础可入



关注“BlankLB”,可以免废获取超多编程资料源码课件哦



版权声明:本文为lghtdw1314原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。