第二次实验 数据定义语言DDL

合集下载

02 结构化查询语言SQL-数据定义DDL

02 结构化查询语言SQL-数据定义DDL
• 主码(sno,cno) • sno为外码,参照student(sno) • cno为外码,参照course(cno)
教师表teacher(tno,tname,tage,tlesson)
• Tno为主码 • Tlesson为外码,参照couse的cno。 • 课程与教师的关系,一个课程有多个老师授课,一个老 师只能授一门课。一对多的联系。
mysql>drop database sc;
An Introduction to Database System
实验过程(Database)
切换使用数据库
mysql>use sc;
An Introduction to Database System
实验过程(table)
建立“学生”表Student,学号是主码,姓名取值唯一。
建立一个“课程”表Course
mysql>CREATE TABLE Course
( Cno CHAR(4) PRIMARY KEY, 先修课 Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno) Cpno是外码 ); cpno外码,参照course表的主码cno。 Cpno要么为空,要么是course表内cno已有的一个值。
成功后显示 mysql>
An Introduction to Database System
实验过程(Database)
查看有哪些数据库
mysql>show databases;
An Introduction to Database System
实验过程(Database)

SQL语言数据定义语言DDL

SQL语言数据定义语言DDL

SQL语言数据定义语言DDL 实验学号:姓名:一.实验内容1.启动Navicat for MySQL,在MySQL –新建连接中完成连接参数配置。

2.登录到本地数据库服务器后,连接到test数据库上。

3.用SQL语句,建立如下所示的表student:属性名类型长度studentid Varchar 10name Varchar 20sex Varchar 2age IntegerFee DECIMAL 10,2address Varchar 50memo Varchar 3004. 用Create Table 语句建表CourseAa,表结构如下所示:属性名类型长度Aa1 Varchar 20Aa2 IntegerAa3 DECIMAL 105. 用Create Table 语句建表ChooseBb,表结构如下所示:属性名类型长度Bb1 Varchar 30Bb2 IntegerBb3 DECIMAL 66. 用Drop Table 语句删除表CourseAa。

7. 用Alter Table 语句更新表ChooseBb,添加一个属性名Bb4,类型Varchar,长度20,完整性约束设为非空值,缺省值设为字符“系统测试值”。

8. 用Alter Table 语句更新表ChooseBb,添加一个属性名Bb5,类型Varchar,长度10,完整性约束设为主码。

完成后,表ChooseBb 的设计如下所示。

9. 用Create View 语句建立一个视图View_Choosebb,生成的视图属性名(View_bb1,View_bb2,view_bb3), 其中View_bb1 对应于基表ChooseBb 的Bb1、View_bb2 对应于基表ChooseBb 的Bb4、view_bb3 对应于基表ChooseBb 的Bb5。

完成后,视图View_Choosebb 的设计如下所示。

10.用Drop View 语句删除视图View_Choosebb。

sql语言的ddl实验报告范文

sql语言的ddl实验报告范文

sql语言的ddl实验报告范文篇一:实验二 SQL语言数据定义语言DDL一、实验目的SQL(Structured Query Language)语言是关系数据库的标准语言。

是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。

本次实验了解SQL语言中DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,掌握在Navicat for MySQL 中用DDL语言进行对表、索引、视图的增加、删除和改动。

掌握使用SQL语句增加或删除约束,加深对完整性概念的理解,达到灵活应用的目的。

掌握使用SQL语句定义和删除同义词。

二、实验要求1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意每种SQL语句的基本命令及各个关键字的含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出本对次实验的总结,下次实验前交实验报告。

三、实验的重点与难点1、重点:(1)用SQL语句定义表结构(创建、修改和删除)。

(2)用SQL语句定义索引(创建、删除)。

(3)用SQL语句定义视图(创建、删除)。

(4)用SQL语句定义同义词(创建、删除)。

2、难点:完整性约束的定义、增加及删除。

同义词的定义与删除。

四、仪器设备及用具硬件:投影仪、每位同学分配已连接校园网PC机一台。

软件:本机已安装MySQL 5.5数据库平台。

五、教学过程(一)实验预习(1)熟悉SQL中的CREATE、DROP、ALTER语句的格式及所用的关键字含义及用法。

(2)掌握完整性约束定义、增加和删除的一般用法。

(3)掌握同义词定义、删除的一般用法。

(二)实验原理在Navicat for MySQL中使用CREATE命令完成对表、索引、视图、同义词的创建,使用DROP命令完成对表、索引、视图、同义词的删除,使用ALTER命令对表结构进行修改及完整性约束的增加、删除。

数据定义语言(DDL)

数据定义语言(DDL)
数据库原理及应用
数据定义语言(DDL)
DDL数据定义语言的操作对象是表的结构,即字段和整个表, 实现对表结构的创建、删除以及对字段的增添、删除操作。本 节结合学生成绩管理系统,旨在实现对系统初始化以及系统维 护的功能。
1.1 表的定义与修改
SQL的CREATE TABLE语句格式为:
CREATE TABLE <表名> ( <字段名1> <数据类型> [完整性约束条件] ; [,<字段名2> <数据类型> [完整性约束条件], …])
在此基础上建立新的视图 CREATE VIEW E_SVIEW ; AS SELECT 学号,姓名,成绩 ; FROM E_SC0301001 WHERE 成绩>80
2.删除视图
视图删除后,视图的定义将从数据字典中删除,但是基本表并 没有被删除,删除视图的语句格式为: DROP VIEW <视图名>
1.3 其它数据定义语句
CREATE [UNIQUE][CLUSTER] INDEX <索引名> ON <表名> (<字段名1 >[ASC|DESC]
[,<字段名2 >[ASC|DESC]…])
例8 为成绩信息表建立索引,课程号升序,成绩为 降序。
键入的SQL语句为: CREATE UNIQUE INDEX SCIDX ; ON 成绩信息表(课程号 ASC ,成绩 DESC)
数据库原理及应用
1.2 视图的定义与删除
1.建立视图 SQL语言用CREATE VIEW语句建立视图,其语句
格式为:
CREATE VIEW <视图名>[(<字段名1>[,<字段名1>…])]; AS <子查询>

第二次实验 数据定义语言DDL

第二次实验 数据定义语言DDL

数据库课程实验报告
2.修改表
(1)给用户表增加一个“出生日期”(birthday)字段,数据类型为datetime,不为空。

(2)给订单表增加一个“总付款”(payment)字段,数据类型为float,默认值为0。

(3)给订单表增加一个“提交时间”(ordertime)字段,数据类型为datetime。

(4)给书目表增加如下约束条件:stock必须大于0。

(5)给订单详情表增加相应约束条件:quantity默认值为1,且必须大于0。

(6)给用户表增加相应约束条件:name必须为唯一。

加约束条件最值,不需要加add constraint。

加约束条件为唯一值才需要。

3.插入数据
结果验证
实验过程中遇到的问题解决办法与实验体会(10分)【请注意:此处必须如实填写,为空或不适均扣10分】。

SQL语句之数据定义语言(DDL)详解

SQL语句之数据定义语言(DDL)详解

SQL语句之数据定义语⾔(DDL)详解操作对象:数据库1)创建数据库MariaDB [(none)]> help create databaseName: 'CREATE DATABASE'Description:Syntax:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name[create_specification] ...create_specification:[DEFAULT] CHARACTER SET [=] charset_name(指定字符集)| [DEFAULT] COLLATE [=] collation_name(指定排序规则)查看系统默认⽀持的字符集和排序规则:MariaDB [(none)]> show character set;MariaDB [(none)]> show collation;我们可以在创建数据库的时候,指定字符集和排序规则,如果不指定,则默认使⽤mysql服务器级别指定的字符集和排序规则案例:创建discuz数据库MariaDB [(none)]> create database discuz default character set utf8;Query OK, 1 row affected (0.00 sec)2)修改数据库MariaDB [(none)]> help alter databaseName: 'ALTER DATABASE'Description:Syntax:ALTER {DATABASE | SCHEMA} [db_name]alter_specification ...(修改数据库的字符集和排序规则)ALTER {DATABASE | SCHEMA} db_nameUPGRADE DATA DIRECTORY NAMEalter_specification:[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name(注意:⼀般⼯作中,很少⽤到)3)删除数据库MariaDB [(none)]> help drop databaseName: 'DROP DATABASE'Description:Syntax:DROP {DATABASE | SCHEMA} [IF EXISTS] db_name案例:MariaDB [(none)]> drop database discuz;Query OK, 0 rows affected (0.00 sec)操作对象:表1)创建表三种⽅式创建表MariaDB [(none)]> help create tableName: 'CREATE TABLE'Description:Syntax:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(create_definition,...)[table_options][partition_options]Or:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name[(create_definition,...)][table_options][partition_options]select_statementOr:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name{ LIKE old_tbl_name | (LIKE old_tbl_name) }create_definition:col_name column_definition(1) | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) [index_option] ... | {INDEX|KEY} [index_name] [index_type] (index_col_name,...) [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...) [index_option] ... | {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,...)----------全⽂,稀疏索引 FUNLLTEXT INDEX(col1,col2) [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY ------------外键 [index_name] (index_col_name,...) reference_definition | CHECK (expr)column_definition:(1) data_type(2) [NOT NULL | NULL] [DEFAULT default_value] ----------------NOT NULL | NULL, DEFAULT 默认值,所有类型都可以⽤的 [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]-----------------AUTO_INCREMENT⾃动增长,UNIQUE KEY唯⼀键,PRIMARY KEY主键 [COMMENT 'string'] [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}] [STORAGE {DISK|MEMORY|DEFAULT}] [reference_definition](3)data_type:(2)数值类型| TINYINT[(length)] [UNSIGNED] [ZEROFILL]-------------UNSIGNED⽆符号,取值:0-255| SMALLINT[(length)] [UNSIGNED] [ZEROFILL]-----------UNSIGNED⽆符号,取值:0-65535| INT[(length)] [UNSIGNED] [ZEROFILL]--------------UNSIGNED⽆符号,取值:0 ~ 4294967295| BIGINT[(length)] [UNSIGNED] [ZEROFILL]| REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]| DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]------------双精度,length总长度,decimals⼩数点后占⼏位| FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]---------------单精度,length总长度,decimals⼩数点后占⼏位| DECIMAL[(length[,decimals])] [UNSIGNED] [ZEROFILL]| NUMERIC[(length[,decimals])] [UNSIGNED] [ZEROFILL]⽇期类型| DATE----------⽇期| TIME----------时间| TIMESTAMP---------------时间戳,从1970年1⽉1⽇0分0秒,到当前时间,所经过的秒数(相对时间)| DATETIME---------⽇期时间型(绝对时间)| YEAR------------记录年字符串类型| CHAR[(length)]--------------定长[CHARACTER SET charset_name] [COLLATE collation_name]| VARCHAR(length)----------变长[CHARACTER SET charset_name] [COLLATE collation_name]| BINARY[(length)]| VARBINARY(length)| TINYBLOB| BLOB| MEDIUMBLOB| LONGBLOB| TINYTEXT [BINARY][CHARACTER SET charset_name] [COLLATE collation_name]| TEXT [BINARY][CHARACTER SET charset_name] [COLLATE collation_name]| MEDIUMTEXT [BINARY][CHARACTER SET charset_name] [COLLATE collation_name]| LONGTEXT [BINARY][CHARACTER SET charset_name] [COLLATE collation_name]| ENUM(value1,value2,value3,...)----------------枚举类型[CHARACTER SET charset_name] [COLLATE collation_name]| SET(value1,value2,value3,...)[CHARACTER SET charset_name] [COLLATE collation_name]| spatial_typereference_definition:(3) REFERENCES tbl_name (index_col_name,...) [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option(4)]reference_option:(4) RESTRICT | CASCADE | SET NULL | NO ACTIONtable_option:ENGINE [=] engine_name------------------------MariaDB [testdb]> show engines;| AUTO_INCREMENT [=] value| AVG_ROW_LENGTH [=] value| [DEFAULT] CHARACTER SET [=] charset_name| CHECKSUM [=] {0 | 1}| [DEFAULT] COLLATE [=] collation_name| COMMENT [=] 'string'| CONNECTION [=] 'connect_string'| DATA DIRECTORY [=] 'absolute path to directory'| DELAY_KEY_WRITE [=] {0 | 1}| INDEX DIRECTORY [=] 'absolute path to directory'| INSERT_METHOD [=] { NO | FIRST | LAST }| KEY_BLOCK_SIZE [=] value| MAX_ROWS [=] value| MIN_ROWS [=] value| PACK_KEYS [=] {0 | 1 | DEFAULT}| PASSWORD [=] 'string'| ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT} | TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}]| UNION [=] (tbl_name[,tbl_name]...)总之:create table 表名(字段1 datatype 修饰符,字段2 datatype 修饰符......)table_option例1MariaDB [testdb]> create table tbl1 (id int not null,name varchar(100) not null,age tinyint); Query OK, 0 rows affected (0.09 sec)例2MariaDB [testdb]> create table products (prod_id char(10) not null,vend_id char(10) not null,prod_name varchar(254) not null,prod_price decimal(8,2) not null,prod_desc varchar(1000));Query OK, 0 rows affected (0.07 sec)查看表结构MariaDB [testdb]> desc products;+------------+---------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+---------------+------+-----+---------+-------+| prod_id | char(10) | NO | | NULL | || vend_id | char(10) | NO | | NULL | || prod_name | varchar(254) | NO | | NULL | || prod_price | decimal(8,2) | NO | | NULL | || prod_desc | varchar(1000) | YES | | NULL | |+------------+---------------+------+-----+---------+-------+5 rows in set (0.00 sec)查看创建表时使⽤的命令:MariaDB [testdb]> show create table tb2;+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Table | Create Table |+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| tb2 | CREATE TABLE `tb2` (`id` smallint(5) unsigned NOT NULL,`name` varchar(20) NOT NULL,`age` tinyint(3) unsigned DEFAULT NULL,PRIMARY KEY (`id`,`name`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 |+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+MariaDB [testdb]> show create table students;+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Table | Create Table |+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| students | CREATE TABLE `students` (`id` smallint(5) unsigned NOT NULL,`name` varchar(20) NOT NULL,`age` tinyint(3) unsigned DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 |+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+查看表状态的MariaDB [testdb]> show table status like 'students'\G*************************** 1. row ***************************Name: studentsEngine: InnoDBVersion: 10Row_format: CompactRows: 0Avg_row_length: 0Data_length: 16384Max_data_length: 0Index_length: 0Data_free: 0Auto_increment: NULLCreate_time: 2017-11-16 15:41:18Update_time: NULLCheck_time: NULLCollation: latin1_swedish_ciChecksum: NULLCreate_options:Comment:1 row in set (0.00 sec)2)删除表MariaDB [testdb]> help drop tableName: 'DROP TABLE'Description:Syntax:DROP [TEMPORARY] TABLE [IF EXISTS]tbl_name [, tbl_name] ...[RESTRICT | CASCADE]MariaDB [testdb]> drop table tbl1;Query OK, 0 rows affected, 1 warning (0.03 sec)注意:数据库、表删除是不可逆的3)修改表MariaDB [testdb]> help alter tableName: 'ALTER TABLE'Description:Syntax:ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name[alter_specification [, alter_specification] ...][partition_options]alter_specification:table_options添加字段:add添加⼀个字段:| ADD [COLUMN] col_name column_definition-------------------添加⼀个字段[FIRST | AFTER col_name ]| ADD [COLUMN] (col_name column_definition,...)------------------添加多个字段| ADD {INDEX|KEY} [index_name]----------------------添加索引[index_type] (index_col_name,...) [index_option] ...| ADD [CONSTRAINT [symbol]] PRIMARY KEY[index_type] (index_col_name,...) [index_option] ...| ADD [CONSTRAINT [symbol]]UNIQUE [INDEX|KEY] [index_name][index_type] (index_col_name,...) [index_option] ...| ADD FULLTEXT [INDEX|KEY] [index_name](index_col_name,...) [index_option] ...| ADD SPATIAL [INDEX|KEY] [index_name](index_col_name,...) [index_option] ...| ADD [CONSTRAINT [symbol]]FOREIGN KEY [index_name] (index_col_name,...)reference_definition修改字段:案例:MariaDB [testdb]> alter table students change id sid smallint unsigned not null;Query OK, 0 rows affected, 1 warning (0.02 sec)Records: 0 Duplicates: 0 Warnings: 1| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}----------修改表字段的default字符集| CHANGE [COLUMN] old_col_name new_col_name column_definition------------------change把列名改名,并设置列的新选项[FIRST|AFTER col_name]| MODIFY [COLUMN] col_name column_definition---------------modify把⼀个字段的⽼定义改成新定义[FIRST | AFTER col_name]删除字段:drop| DROP [COLUMN] col_name-------删除某个键| DROP PRIMARY KEY--------删除主键| DROP {INDEX|KEY} index_name----------删除唯⼀键名| DROP FOREIGN KEY fk_symbol---------删除外键| MAX_ROWS = rows| DISABLE KEYS| ENABLE KEYS| RENAME [TO|AS] new_tbl_name| ORDER BY col_name [, col_name] ...| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]| [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]| DISCARD TABLESPACE| IMPORT TABLESPACE| FORCE| ADD PARTITION (partition_definition)| DROP PARTITION partition_names| TRUNCATE PARTITION {partition_names | ALL}| COALESCE PARTITION number| REORGANIZE PARTITION [partition_names INTO (partition_definitions)]| ANALYZE PARTITION {partition_names | ALL}| CHECK PARTITION {partition_names | ALL}| OPTIMIZE PARTITION {partition_names | ALL}| REBUILD PARTITION {partition_names | ALL}| REPAIR PARTITION {partition_names | ALL}| PARTITION BY partitioning_expression| REMOVE PARTITIONINGindex_col_name: col_name [(length)] [ASC | DESC]index_type: USING {BTREE | HASH}index_option: KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string'table_options: table_option [[,] table_option] ... (see CREATE TABLE options)partition_options: (see CREATE TABLE options)为表增加⼀个字段MariaDB [testdb]> ALTER TABLE products ADD vend_phone CHAR(20);删除⼀个表的某个字段MariaDB [testdb]> alter table products drop vend_phone ;Query OK, 0 rows affected, 1 warning (0.07 sec)Records: 0 Duplicates: 0 Warnings: 1添加⼀个唯⼀键MariaDB [testdb]> alter table students add unique key(name);Query OK, 0 rows affected (0.07 sec)Records: 0 Duplicates: 0 Warnings: 0MariaDB [testdb]> desc students-> ;+--------+----------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+----------------------+------+-----+---------+-------+| sid | smallint(5) unsigned | NO | PRI | NULL | || name | varchar(20) | NO | UNI | NULL | |查看表中的索引MariaDB [testdb]> show index from students;+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+| students | 0 | PRIMARY | 1 | sid | A | 0 | NULL | NULL | | BTREE | | || students | 0 | name | 1 | name | A | 0 | NULL | NULL | | BTREE | | || students | 1 | age | 1 | age | A | 0 | NULL | NULL | YES | BTREE | | |+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+3 rows in set (0.00 sec)创建索引MariaDB [testdb]> help create indexName: 'CREATE INDEX'Description:Syntax:CREATE [ONLINE|OFFLINE] [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name[index_type]ON tbl_name (index_col_name,...)[index_option] ...index_col_name:col_name [(length)] [ASC | DESC]index_type:USING {BTREE | HASH}index_option: KEY_BLOCK_SIZE [=] value| index_type | WITH PARSER parser_name | COMMENT 'string'。

超详细的sql语句ddl(数据定义语言) 讲解

超详细的sql语句ddl(数据定义语言) 讲解

超详细的sql语句ddl(数据定义语言) 讲解SQL (Structured Query Language) is a standard programming language designed for managing and manipulating relational databases. In this response, I will provide a detailed explanation of SQL Data Definition Language (DDL) statements, which are used to define database structure and schema.DDL statements in SQL primarily consist of the CREATE, ALTER, and DROP commands. Let's take a closer look at each of these commands and their usage.The CREATE command is used to create new database objects such as tables, views, indexes, and stored procedures. For example, to create a new table named "users," you can use the following syntax:CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50),email VARCHAR(100));这段中文翻译:SQL(结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。

在本回答中,我将详细解释SQL数据定义语言(DDL)语句,它们用于定义数据库的结构和模式。

实验二SQL语言数据定义语言DDL(精)

实验二SQL语言数据定义语言DDL(精)

实验二 SQL语言数据定义语言DDL一、实验目的SQL(Structured Query Language语言是关系数据库的标准语言。

是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。

本次实验了解SQL语言中DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,掌握在Navicat for MySQL中用DDL语言进行对表、索引、视图的增加、删除和改动。

掌握使用SQL语句增加或删除约束,加深对完整性概念的理解,达到灵活应用的目的。

掌握使用SQL语句定义和删除同义词。

二、实验要求1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意每种SQL语句的基本命令及各个关键字的含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出本对次实验的总结,下次实验前交实验报告。

三、实验的重点与难点1、重点:(1)用SQL语句定义表结构(创建、修改和删除)。

(2)用SQL语句定义索引(创建、删除)。

(3)用SQL语句定义视图(创建、删除)。

(4)用SQL语句定义同义词(创建、删除)。

2、难点:完整性约束的定义、增加及删除。

同义词的定义与删除。

四、仪器设备及用具硬件:投影仪、每位同学分配已连接校园网PC机一台。

软件:本机已安装MySQL 5.5数据库平台。

五、教学过程(一)实验预习(1)熟悉SQL中的CREATE、DROP、ALTER语句的格式及所用的关键字含义及用法。

(2)掌握完整性约束定义、增加和删除的一般用法。

(3)掌握同义词定义、删除的一般用法。

(二)实验原理在Navicat for MySQL中使用CREATE命令完成对表、索引、视图、同义词的创建,使用DROP命令完成对表、索引、视图、同义词的删除,使用ALTER命令对表结构进行修改及完整性约束的增加、删除。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库课程实验报告
2.修改表
(1)给用户表增加一个“出生日期”(birthday)字段,数据类型为datetime,不为空。

(2)给订单表增加一个“总付款”(payment)字段,数据类型为float,默认值为0。

(3)给订单表增加一个“提交时间”(ordertime)字段,数据类型为datetime。

(4)给书目表增加如下约束条件:stock必须大于0。

(5)给订单详情表增加相应约束条件:quantity默认值为1,且必须大于0。

(6)给用户表增加相应约束条件:name必须为唯一。

加约束条件最值,不需要加add constraint。

加约束条件为唯一值才需要。

3.插入数据
结果验证
实验过程中遇到的问题解决办法与实验体会(10分)【请注意:此处必须如实填写,为空或不适均扣10分】。

相关文档
最新文档