在MySQL数据库中,表是一种很重要的数据库对象,是组成数据库的基本元素,由若干个字段组成,主要用来实现存储数据记录。表的操作包含创建表、查询表、修改表和删除表,这些操作是数据库对象的表管理中最基本也是最重要的操作。
1.从最简单的表操作开始
创建班级表:
ID 名称 班主任
101 六年级一班 马老师
102 六年级二班 潘老师
mysql> create database school; #创建数据库school
mysql> use school; #选择数据库school
mysql> create table class(class_id int, class_name varchar(128), class_teacher varchar(64)); #创建表class
mysql> insert into class values (101, ‘六年级一班’, ‘马老师’); #往表中插入101班记录
mysql>insert into class values (102, ‘六年级二班’, ‘潘老师’); #往表中插入102班记录
mysql>select * from class; #查询表class 中的全部记录
mysql>select * from class where class_id=101; #查询表class 中的全部记录
2.表的创建
基本语法:
CREATE TABLE <表名> [表定义选项])[表选项][分区选项];
其中,[表定义选项]的格式为:
<列名1> <类型1> [,…] <列名n> <类型n>
CREATE TABLE 命令语法比较多,其主要是由表创建定义(create-definition)、表选项(table-options)和分区选项(partition-options)所组成的。
mysql> use school; #选择数据库school
mysql> create table class1(class_id int, class_name varchar(128), class_teacher varchar(64)); #创建表class
**CREATE TABLE 语句的主要语法及使用说明如下:
**
- CREATE TABLE:用于创建给定名称的表,必须拥有表CREATE的权限。
- <表名>:指定要创建表的名称,表名称可以被指定为 db_name.tbl_name,以便在特定的数据库中创建表。无论是否有当前数据库,都可以通过这种方式创建。在当前数据库中创建表时,可以省略 db-name。有些数据库可以使用加引号的识别名,例如,‘mydb’.‘mytbl’ 是合法的,但 mysql 是不合法。
mysql> create table school.class2(class_id int, class_name varchar(128), class_teacher varchar(64)); #创建表class2
mysql> create table ‘school’.’class3’(class_id int, class_name varchar(128), class_teacher varchar(64)); #Error! 会创建失败
<表定义选项>:表创建定义,由列名(col_name)、列的定义(column_definition, 或者叫类型定义)以及可能的空值说明、完整性约束或表索引组成,如下图所示。
mysql> use school; #选择数据库school
mysql> create table class4(class_id int PRIMARY KEY, class_name varchar(128) NOT NULL, class_teacher varchar(64) UNIQUE); #创建表class3
注意:
默认的情况是,表被创建到当前的数据库中。若表已存在、没有当前数据库或者数据库不存在,则会出现错误。
提示:使用 CREATE TABLE 创建表时,必须注意以下信息:
- 要创建的表的名称不区分大小写,不能使用SQL语言中的关键字,如DROP、ALTER、INSERT等。
- 数据表中每个列(字段)的名称和数据类型,如果创建多个列,要用逗号隔开。
列名
1)采用26字母和0-9的自然数加上下互相 ‘’ 组成,命名简洁明确,多个单词用下划线 ‘’ 隔开
2)全部小写命名,尽量避免出现大写
3)字段必须填写描述信息
4)禁止使用数据库关键字
5)字段名称一般采用名词或动宾短语
6)采用字段的名字必须是易于理解,一般不超过三个英文单词
7)在命名表的列时,不要重复表的名称(如:在 user 表中,出现 user_name 字段)
8)字段命名使用完整名称