第二次实验 数据定义语言DDL
- 格式:doc
- 大小:2.30 MB
- 文档页数:17
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(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命令对表结构进行修改及完整性约束的增加、删除。
数据库课程实验报告
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)详解操作对象:数据库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 (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(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命令对表结构进行修改及完整性约束的增加、删除。
【SQL】数据定义语⾔(DDL)数据定义语⾔所有语句都是基于oracle的HR⽤户create 创建对象,drop 删除对象,alter 修改对象,rename 修改数据库对象名称创建表语法格式:create table 表名(列名列数据类型)创建⽰例:列与列中间⽤,隔开create table dept(deptno number(2),dname varchar2(14),loc varchar2(13));Oracle数据库中的表⽤户表由⽤户创建和维护的表的集合,包含⽤户信息数据字典表由oracle服务器创建和维护的表,包含数据库信息。
如:HR⽤户就是oracle⽤来使⽤者练习的表。
常见的数据库字典表查询本⽤户下所拥有的表名称select table_name from user_tables;查看本⽤户所拥有的不同对象类型select distinct object_type from user_objects;使⽤distinct 是由于有⼀些重复的列进⾏祛除查看本⽤户所拥有的表、视图及序列select * from user_catelog;⽤查询创建表表名之后使⽤ as 连接查询进⾏创建,投影的列名就是创建的表create table dept80 as select employee_id,last_name,salary,hire_date from employees where department_id =80; alter table语句添加⼀个新列语法:alter table 表名 add(具体的列名,类型);⽰例:alter table dept add(salary number(8,2));修改⼀个已经存在的类型语法:alter table 表名 modify 具体的列名类型;修改默认值添加默认值alter table dept modify salary number(8,2) default 1000;删除默认值alter table dept modify salary number(8,2) default null;修改数据类型alter table dept modify name vchar2(40);修改列名(rename column)语法:alter table 表名 rename column 原列名 to 新列名;alter table dept rename column name to dname;删除⼀个列(drop column)语法:alter table 表名 drop column 列名;alter table dept drop column salary;需要注意的是在修改列名和删除列的时候需要加column修改名称(rename)语法:rename原表名 to 新表名;rename dept to dept40;截断表(truncate table)语法:truncate table 表名;truncate table dept;需要注意:在截断表中不需要给定条件,⽽delete需要给定条件;turntable 属于隐式事务,不⽀持rollback,⽽delete⽀持回滚删除表(drop table)语法:drop table 表名; 不⽀持回滚drop table dept;。
SQL语言的DDL实验报告范文实验目的本次实验的目的是学习和掌握SQL语言的DDL(数据定义语言),熟悉其基本操作和语法,能够独立完成数据表的创建、修改和删除操作。
实验环境本次实验使用的是MySQL数据库管理系统,在Windows系统下进行。
使用的版本为MySQL 5.7。
实验中使用的SQL语句均在MySQL Workbench中编写并执行。
实验步骤1. 数据表的创建首先,在MySQL中创建一个新的数据库,命名为mydb。
创建成功后,使用该数据库进行接下来的实验操作。
然后,我们需要创建一个新的数据表。
下面是我们要创建的数据表的结构:字段名类型长度备注id int 自动编号,主键name varchar 50 姓名age int 年龄gender varchar 10 性别phone varchar 20 手机号码address varchar 100 居住地址我们可以使用以下SQL语句来创建该数据表:CREATE TABLE mydb.students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender VARCHAR(10),phone VARCHAR(20),address VARCHAR(100));上述代码中,CREATE TABLE语句用于创建数据表,紧接着是数据表的名称mydb.students。
括号内是数据表的结构,每个字段之间用逗号隔开,每个字段包括字段名、类型和长度(有些类型不需要长度)。
其中,id字段为主键,并使用AUTO_INCREMENT进行自动编号。
执行以上代码后,我们就成功地创建了名为students的数据表。
2. 数据表的修改在实际使用过程中,我们有时需要对数据表进行修改,以满足新的需求。
在MySQL中,我们可以使用ALTER TABLE语句来进行数据表的修改。
例如,我们想要在students表中新增一个字段email,可以使用以下SQL语句来实现:ALTER TABLE mydb.studentsADD email VARCHAR(50);上述代码中,ALTER TABLE语句用于修改数据表,接着是数据表的名称mydb.students。
数据库课程实验报告
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分】。