目录
一、本篇作为例子的三个表
二、模式的定义与删除
1、模式的定义(SQL)or 数据库的创建(mysql语言)
2、模式的删除(SQL)or 数据库的删除(mysql语言)
三、表的定义、删除与修改
1、表
1.1表的定义
1.2表的删除
1.3表的修改
2、数据类型
3、索引
一、本篇作为例子的三个表
Student
学号(Sno)
姓名(Sname)
性别(Ssex)
年龄(Sage)
所在系(Sdept)
201215121
李勇
男
20
CS
201215122
刘晨
女
19
CS
201215123
王敏
女
18
MA
201215125
张立
男
19
IS
Course
课程号(Cno)
课程名(Cname)
先行课(Cpno)
学分(Ccredit)
1
数据库
5
4
2
数学
2
3
信息系统
1
4
4
操作系统
6
3
5
数据结构
7
4
6
数据处理
2
7
PASCAL语言
6
4
SC
学号(Sno)
课程号(Cno)
成绩(Grade)
201215121
1
92
201215121
2
85
201215121
3
88
201215122
2
90
201215122
3
80
二、模式的定义与删除
1、模式的定义(SQL)or 数据库的创建(mysql语言)
语法:create database 数据库名;
例:create database test;
解释:该例创建了一个名为test的模式(数据库)。
2、模式的删除(SQL)or 数据库的删除(mysql语言)
语法:drop database 数据库名;
例:drop database test;
解释:该例删除了一个名为test的模式(数据库)。
三、表的定义、删除与修改
1、表
1.1表的定义
语法:
create table ( [列级完整性约束] ,
...
[列级完整性约束] ,
[表级完整性约束]
);
例1:
create table Student
(Sno char(9) primary key, /*列级完整性约束条件,Sno是主码*/
Sname char(20) unique, /*Sname取唯一值*/
Ssex char(2),
Sage smallint,
Sdept char(20)
);
创建后查看属性:
例2:
create table Course
(Cno char(4) primary key, /*列级完整性约束条件,Cname不能取空值*/
Cname char(40) not null, /*Cpno的含义是先修课*/
Cpno char(4),
Ccredit smallint,
foreign key (Cpno) references Course(Cno)
/*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);
创建后查看属性:
例3:
create table SC
(Sno char(9),
Cno char(4),
Grade smallint,
primary key(Sno, Cno),
foreign key(Sno) references Student(Sno),
foreign key(Cno) references Course(Cno)
);
创建后查看属性:
三个表添加后查看:
1.2表的删除
语法:drop table 表名;
1.3表的修改
创建例子:
增加列
语法:alter table 表名 add 属性名 数据类型 【列级完整性约束】;
样例:
例子1:alter table myname add age smallint;
解释:在表myname中新添加一列age,数据类型为smallint。
例子2: alter table myname add Id char(10) primary key;
解释:在表myname中新添加一列Id,数据类型为10个长度的字符串,并设为主键。
删除列
语法:alter table 表名 drop 属性名;
样例:
例子1:alter table myname drop age;
解释:在表myname中删除列age。
添加表级完整性约束条件
语法:alter table 表名 add 表级完整性约束;
样例:
例子1:alter table myname add unique(name);
解释:在表myname中添加了约束条件:name属性取唯一值。
修改列的属性
语法:alter table 表名 modify 列名 新的数据类型 【列级完整性约束条件】;
样例:
例子1:alter table myname modify Id int;
解释:修改表myname的列Id的数据类型为int。
删除主键
语法: alter table myname drop primary key;
2、数据类型
参考菜鸟教程:http://www.runoob/mysql/mysql-data-types.html
3、索引
1) 创建索引语法
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
[USING index_type]
ON table_name (index_col_name,...)
2) 创建样例
例:CREATE INDEX idx_sno ON Student(Sno);
3) 查看索引
语法:SHOW INDEX FROM 表名;
4) 修改索引
在MySQL中并没有提供修改索引的直接指令,一般情况下,我们需要先删除掉原索引,再根据需要创建一个同名的索引,从而变相地实现修改索引操作。
5) 删除索引
语法:ALTER TABLE 表名 DROP INDEX 索引名;
参考博文:https://www./yeyublog/p/5898588.html
注:有关MySql数据库的其他操作请参见MySql目录进行查找。
更多推荐
mysql 定义模式_MySql数据库之数据定义(模式、表、数据类型、索引)
发布评论