DDL
此为数据定义语言,其主要操作对象是数据库及数据表,前往具体的DDL释义以下为相关具体操作:
- 数据库相关的DDL
CREATE DATABASE/SCHEMA db_name;
创建名字为db_name的数据库,创建数据库时还可以进行对数据库引擎、字符编码等相关属性进行设置,后续将会在进行更新;-----------
DROP DATABASE DB_NAME;
删除名字为DB_NAME数据库,
USE DB_NAME;
切换使用的数据库, - 创建表
CREATE TABLE TNAME( Pid int(4) NOT NULL PRIMARY KEY, NAME VARCHAR(32) NULL DEFAULT '姓名', GRADE CHAR(5) COMMENT '年纪', )COMMENT '学生信息';
创建TNAME表,
字段Pid 整数类型(长度为4位)、非空、主键,
字段NAME 可变字符型(长度为32位)、可以为空、默认值为’姓名’,
GRADE字段 字符类型(长度为4位)备注是年纪,
表的注释设置为‘学生信息’; - 删除表
drop table student;
删除名为student的表,此操作不仅清空了数据,同时释放了表之前占用的所有空间、资源等;
truncate table student;
清空student表中数据,但是此操作执行了两个步骤:首先调用DROP命令清空数据并删除了表结构,然后使用create命令按照原表的结构进行创建同名表student,在一定意义上来说现存的表并不是原来的表了。此处为实验验证截图
通过使用navicat创建数据库并备份查看备份数据,对比使用DROP RTUNCATE命令后数据库中记录可以验证;
对于数据库、数据表可以使用show、desc命令进行查看相关信息:SHOW CREATE DATABASE hh;
查看创建数据库‘hh’的命令,不仅能偶看到创建数据库时自己所书写的限定条件,还能够看到数据库管理系统默认为我们添加的一些数据库限定信息。查看结果如下
CREATE DATABASE `hh` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */
SHOW CREATE TABLE student;`此处与上一条基本一致,如下为查看结果信息(使用innodb引擎,utf8编码规则):
CREATE TABLE `student` (
`sid` int(10) NOT NULL,
`sname` varchar(50) NOT NULL,
`age` int(10) NOT NULL,
`sex` varchar(10) NOT NULL,
PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
顺便提一句,当下使用的MySQL数据库多是使用InnoDB(因其具备对事务的良好支持等,可对比MyISAM引擎
两个引擎相关区别梳理)
DESC student;
查看表结构,查看结果如下:
4. 修改表
ALTER TABLE student ADD itg INT not NULL;
为student表添加整数类型、非空的 itg字段,添加字段时,就像创建表时可以为字段设置相应的属性;
ALTER TABLE student CHANGE itg itt INT NOT NULL;
将student的字段itg更改为itt 整数类型、非空,属性也可以进行更改,此处便不再演示
ALTER TABLE student RENAME TO new_student;
将student表名改为new_student。
暂时就先写这么多,后续继续更新!
每一天都要加油!