mysql是我们经常使用的数据库之一,那么如何用mysql创建数据表呢?下面我就给大家分享一下.
工具/材料
navicat for mysql
首先打开navicat for mysql工具,打开一个数据库,然后右键单击表,选择新建表,如下图所示
此时此刻呢在弹出的新建表界面中,我们通过添加栏位来增加表的字段,如下图所示
最后我们回到软件的主界面,你就会看到刚才添加的表已经显示在主界面了,如下图所示,这代表我们已经添加表成功
CREATE DATABASE cookbook; 创建一个叫"cookbook"的数据库
USE cookbook; 使用cookbook这个数据库
创建表的命令是 CREATE TABLE 表名称
后面括号里的内容是表中字段的属性
MySQL 提供了多种创建索引的方法:
①.) 使用 CREATE INDEX 语句
可以使用专门用于创建索引的 CREATE INDEX 语句在一个已有的表上创建索引,但该语句不能创建主键.
语法格式:
CREATE 索引名 ON 表名 (列名 [长度] [ ASC | DESC])
语法说明如下:
索引名:指定索引名.一个表可以创建多个索引,但每个索引在该表中的名称是唯一的.
表名:指定要创建索引的表名.
列名:指定要创建索引的列名.通常可以考虑将查询语句中在 JOIN 子句和 WHERE 子句里经常出现的列作为索引列.
ASC|DESC:可选项.ASC指定索引按照升序来排列,DESC指定索引按照降序来排列,默认为ASC.
索引也可以在创建表(CREATE TABLE)的同时创建.在 CREATE TABLE 语句中添加以下语句.语法格式:
CONSTRAINT PRIMARY KEY [索引类型] (列名,...)
在 CREATE TABLE 语句中添加此语句,表示在创建新表的同时创建该表的主键.
KEY | INDEX [索引名] [索引类型] (列名,...)
在 CREATE TABLE 语句中添加此语句,表示在创建新表的同时创建该表的索引.
UNIQUE [ INDEX | KEY] [索引名] [索引类型] (列名,...)
在 CREATE TABLE 语句中添加此语句,表示在创建新表的同时创建该表的唯一性索引.
FOREIGN KEY 索引名 列名
在 CREATE TABLE 语句中添加此语句,表示在创建新表的同时创建该表的外键.
在使用 CREATE TABLE 语句定义列选项的时候,可以通过直接在某个列定义后面添加 PRIMARY KEY 的方式创建主键.而当主键是由多个列组成的多列索引时,则不能使用这种方法,只能用在语句的最后加上一个 PRIMARY KRY(列名,...) 子句的方式来实现.
MySQL在多个数据表上创建视图
在MySQL中,使用CREATE VIEW语句也可以在两个或两个以上的数据表上创建视图.
实例
在department表和worker表上创建一个名为worker_view1的视图.
① 创建视图的代码如下:
CREATE ALGORITHM=MERGE VIEW
worker_view1(name,department,sex,age,location)
AS SELECT name,department.d_name,sex,birthday,address
FROM worker,department WHERE worker.d_id=department.d_id
WITH LOCAL CHECK OPTION;
在DOS提示符窗口中查看MySQL在多个数据表上创建视图的操作效果.如下图所示:
在DOS提示符窗口中查看MySQL在多个数据表上创建视图的操作效果
从上图中可以看出,代码的执行结果显示视图创建成功.
使用DESC语句查询虚拟表的结构
从上图中可以看出,视图worker_view1的属性分别为name、department、sex、age和location.
视图指定的属性列表对应着两个不同的表的属性列(字段).
视图的属性名与属性列表中的属性名相同.
该实例中的SELECT语句查询出了department表的d_name字段,还有worker表的name、sex、birthday和address.其中,department表的d_name字段对应视图的department字段;worker表的birthday字段对应视图的age字段.
同时,视图worker_view1的ALGORITHM的值指定为MERGE.还增加了WITH LOCAL CHECK OPTION约束.
本示例说明,视图可以将多个表上的操作简洁的表示出来.
提示
Navicat
打开后,在右边的视图上就可以看到这个库里所有的表了.
在表视图里就可以看到刚才建好的表了.
①.、打开Navicat for MySQL,找到要创建数据库中数据表