13.2 SQL语法

13.2 SQL语法

SQL语句是对所有关系数据库都通用的命令语句,而JDBC API只是执行SQL语句的工具JDBC允许对不同的平台、不同的数据库采用相同的编程接口来执行SQL语句。在开始JDBC编程之前必须掌握基本的SQL知识,本节将以MySQL数据库为例详细介绍SQL语法知识。

提示

除了标准的SQL语句之外,所有的数据库都会在标准SQL语句基础上进行扩展,增加一些额外的功能,这些额外的功能属于特定的数据库系统,不能在所有的数据库系统上都通用。因此,如果想让数据库应用程序可以跨数据库运行,则应该尽量少用这些属于特定数据库的扩展

13.2.2 关系数据库基本概念和MySQL基本命令

严格来说,数据库(Database)仅仅是存放用户数据的地方。当用户访问、操作数据库中的数据时,就需要数据库管理系统的帮助。数据库管理系统的全称是Database Management System,简称DBMS习惯上常常把数据库和数据库管理系统笼统地称为数据库,通常所说的数据库既包括存储用户数据的部分,也包括管理数据库的管理系统。
DBMS是所有数据的知识库,它负责管理数据的存储、安全、一致性、并发、恢复和访问等操作。**DBMS有一个数据字典(有时也被称为系统表),用于存储它拥有的每个事务的相关信息**,例如名字、结构、位置和类型,**这种关于数据的数据也被称为元数据(metadata)**。

对于关系数据库而言,最基本的数据存储单元就是数据表,因此可以简单地把数据库想象成大量数据表的集合

数据表是存储数据的逻辑单元,可以把数据表想象成由行和列组成的表格其中每一行也被称为一条记录每一列也被称为一个字段
为数据库建表时,通常需要指定该表包含多少列,每列的数据类型信息,无须指定该数据表包含多少行——因为数据库表的行是动态改变的,每行用于保存一条用户数据。除此之外,还应该为每个数据表指定一个特殊列,该特殊列的值可以唯一地标识此行的记录,则该特殊列被称为主键列。

查看数据库

show databases;

删除数据库

drop database 数据库名称;

创建数据库

create database if not exists 数据库名称;

进入数据库

use 数据库名称;

查看数据库中的所有表格

show tables;

查看表结构

desc 表名

MySQL存储机制

MySQL数据库通常支持如下两种存储机制。

  1. MyISAM:这是MySQL早期默认的存储机制,对事务支持不够好
  2. InnoDB:**InnoDB提供事务安全的存储机制InnoDB通过建立行级锁来保证事务完整性**,并以Oracle风格的共享锁来处理Select语句。系统默认启动InnoDB存储机制,如果不想使用InnoDB表,则可以使用skip-innodb选项。

如果使用5.0以上版本的MySQL数据库系统,通常无须指定数据表的存储机制,因为系统默认使用InnoDB存储机制。如果需要在建表时显式指定存储机制,则可在标准建表语法的后面添加下面任意一句。
ENGINE=MyISAM–强制使用MyISAM存储机制。
ENGINE=InnoDB–强制使用InnoDB存储机制。