提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在MySQL数据库中,表是一种很重要的数据库对象,是组成数据库的基本元素,由若干个字段组成,主要用来实现存储数据记录。表的操作包含创建表、查询表、修改表和删除表,这些操作是数据库对象的表管理中最基本也是最重要的操作。
提示:以下是本篇文章正文内容,下面案例可供参考
一、从最简单的表操作开始
创建班级表:
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 中的全部记录 |
二、表的创建
1)、基本语法
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 |
2)、注意
- 默认的情况是,表被创建到当前的数据库中。若表已存在、没有当前数据库或者数据库不存在,则会出现错误。
- 提示:使用 CREATE TABLE 创建表时,必须注意以下信息:
- 要创建的表的名称不区分大小写,不能使用SQL语言中的关键字,如DROP、ALTER、INSERT等。
- 数据表中每个列(字段)的名称和数据类型,如果创建多个列,要用逗号隔开。
总结
创建表命令:
create table 表名(字段名 字段类型(长度),... ...);