MySQL中的DDL

启动MySQL服务

在管理员方式运行的cmd.exe中敲入,回车

net start mysql  // 启动mysql服务
    
net stop mysql  // 停止mysql服务

修改默认账户密码

mysqladmin -u root password 1234

登陆

mysql -uroot -p1234

退出mysql

exit
quit

DDL

DDL简单理解就是用来操作数据库,表等。

DDL:操作数据库

操作数据库主要就是对数据库的增删查操作。

查询所有的数据库

SHOW DATABASES;

创建数据库

CREATE DATABASE 数据库名称;
CREATE DATABASE IF NOT EXISTS 数据库名称; --判断,如果不存在则创建

删除数据库

DROP DATABASE 数据库名称;
DROP DATABASE IF EXISTS 数据库名称; -- 判断,如果存在则删除

使用数据库

USE 数据库名称;

查看当前使用的数据库

SELECT DATABASE();

DDL:操作表

操作表也就是对表进行增(Create)删(Retrieve)改(Update)查(Delete)。

查询当前数据库下所有表名称

SHOW TABLES;

查询表结构

DESC 表名称;

创建表

CREATE TABLE 表名 (
	字段名1  数据类型1,
	字段名2  数据类型2,
	…
	字段名n  数据类型n
);

-- 举例
create table tb_user (
	id int,
    username varchar(20),
    password varchar(32)
);

注意:最后一行末尾,不能加逗号

数据类型

MySQL 支持多种类型,可以分为三类:

  • 数值
tinyint : 小整数型,占一个字节
int	: 大整数类型,占四个字节
  eg : age int
double : 浮点类型
  使用格式: 字段名 double(总长度,小数点后保留的位数)
  eg : score double(5,2)   
  • 日期
date : 日期值。只包含年月日
  eg :birthday datedatetime : 混合日期和时间值。包含年月日时分秒
  • 字符串
char : 定长字符串。
  优点:存储性能高
  缺点:浪费空间
  eg : name char(10)  如果存储的数据字符个数不足10个,也会占10个的空间
varchar : 变长字符串。
  优点:节约空间
  缺点:存储性能底
  eg : name varchar(10) 如果存储的数据字符个数不足10个,那就数据字符个数是几就占几个的空间	

案例:

需求:设计一张学生表,请注重数据类型、长度的合理性
	1. 编号
	2. 姓名,姓名最长不超过10个汉字
	3. 性别,因为取值只有两种可能,因此最多一个汉字
	4. 生日,取值为年月日
	5. 入学成绩,小数点后保留两位
	6. 邮件地址,最大长度不超过 64
	7. 家庭联系电话,不一定是手机号码,可能会出现 - 等字符
	8. 学生状态(用数字表示,正常、休学、毕业...)

语句设计如下:

create table student (
	id int,
    name varchar(10),
    gender char(1),
    birthday date,
    score double(5,2),
    email varchar(15),
    tel varchar(15),
    status tinyint
);

删除表

DROP TABLE 表名;
DROP TABLE IF EXISTS 表名; -- 删除表时判断表是否存在

修改表名

ALTER TABLE 表名 RENAME TO 新的表名;

-- 将表名student修改为stu
alter table student rename to stu;

添加一列

ALTER TABLE 表名 ADD 列名 数据类型;

-- 给stu表添加一列address,该字段类型是varchar(50)
alter table stu add address varchar(50);

修改数据类型

ALTER TABLE 表名 MODIFY 列名 新数据类型;

-- 将stu表中的address字段的类型改为 char(50)
alter table stu modify address char(50);

修改列名和数据类型

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

-- 将stu表中的address字段名改为 addr,类型改为varchar(50)
alter table stu change address addr varchar(50);

删除列

ALTER TABLE 表名 DROP 列名;

-- 将stu表中的addr字段 删除
alter table stu drop addr;
### MySQL DDL 语句概述 数据定义语言 (Data Definition Language, DDL) 主要用于定义和修改数据库结构,包括创建、删除以及更改数据库对象(如数据库、表、索引等)。以下是常见的 MySQL DDL 语句及其具体用法。 --- #### 创建数据库 (`CREATE DATABASE`) 通过 `CREATE DATABASE` 可以新建一个数据库,并可以指定字符集和其他选项。 示例代码如下: ```sql CREATE DATABASE db1 CHARACTER SET utf8; ``` 此命令会创建名为 `db1` 的数据库,并设置其默认字符集为 UTF-8[^3]。 --- #### 删除数据库 (`DROP DATABASE`) 如果不再需要某个数据库,可以通过 `DROP DATABASE` 将其完全移除。 示例代码如下: ```sql DROP DATABASE IF EXISTS db1; ``` 这条语句会在存在名为 `db1` 的数据库时将其删除[^3]。 --- #### 创建表 (`CREATE TABLE`) `CREATE TABLE` 用来定义一个新的表格结构,其中包括列名、数据类型以及其他属性。 示例代码如下: ```sql CREATE TABLE students ( uid INT COMMENT '学生ID', uname VARCHAR(10) COMMENT '学生姓名', upassword VARCHAR(10) COMMENT '学生密码' ) COMMENT='学生表'; ``` 这段代码创建了一个名为 `students` 的表,其中包含三列:`uid`, `uname`, 和 `upassword`,每列表述了不同的字段含义[^2]。 --- #### 修改表结构 (`ALTER TABLE`) 当需要调整现有表的结构时,可使用 `ALTER TABLE` 来增加新列、删除已有列或者改变某些列的数据类型等。 示例代码如下: ```sql -- 添加一列 age 到 students 表中 ALTER TABLE students ADD COLUMN age INT; -- 更改某一列的数据类型 ALTER TABLE students MODIFY COLUMN uname VARCHAR(20); -- 删除某列 ALTER TABLE students DROP COLUMN upassword; ``` 以上分别展示了如何向表中添加新的字段、修改已有的字段类型以及删除不需要的字段[^1]。 --- #### 删除表 (`DROP TABLE`) 若想彻底清除一张表,则需执行 `DROP TABLE` 操作。这将永久性地销毁该表及其所有记录。 示例代码如下: ```sql DROP TABLE IF EXISTS students; ``` 这里表示如果有 `students` 这张表就把它删除掉[^1]。 --- #### 查看表结构 (`DESCRIBE` 或 `SHOW COLUMNS FROM`) 为了查看当前存在的表的具体设计情况,可以用到这两个指令之一来获取相关信息。 示例代码如下: ```sql DESCRIBE students; -- 或者 SHOW COLUMNS FROM students; ``` 它们都将返回关于 `students` 表各栏位名称、类别及其他特性的详情信息[^1]。 --- ### 总结 DDL 是管理数据库架构的重要工具,在实际开发过程中频繁被应用到项目初期规划阶段或是后期维护升级期间。掌握好这些基本语法对于任何从事软件工程的人来说都是必不可少的知识点。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值