mysql的DDL语言和DML语言

**DDL语言:

操作数据库,表等(创建,删除,修改);**

操作数据库

1:查询

show databases

2:创建

创建数据库

create database 数据库名称

创建数据库,如果不存在就创建

create database if not exists 数据库名称

sql 复制代码
/*创建db1数据库*/
create database db1;
/*创建数据库db2,如果不存在的话*/
create database if not exists db2;m

可以发现已经创建了两个数据库;

3:删除

删除数据库

drop database 数据库名称

删除数据库,如果存在的话

drop database if exists 数据库名称

sql 复制代码
/*删除数据库*/
drop database db1;
/*删除数据库,如果存在的话*/
drop database if exists db2;

可见这两个数据已经被删除

4:使用数据库

查看当前使用的数据库

select database()

sql 复制代码
/*查看当前使用的数据库名称*/
select database();

使用某个数据库

use 数据库名称

sql 复制代码
use db1;

结果可见上图;

操作数据表

查询表

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

show tables;

查询表结构

desc 表名称

create table 表名(

创建表

字段名1 数据类型1,

字段名2 数据类型2,

字段名n 数据类型n(最后一行不用加,)

) ;
数据类型

|---------|--------------------------------|
| 类型 | 描述 |
| int | 整形 |
| double | 浮点型 |
| varchar | 字符串型 |
| data | 日期类型,格式为yyyy-MM-dd,只有年月日,没有时分秒 |

例子:创建一张学生表,用于存储学生的信息:

sql 复制代码
# 创建表
create table student
(
    id int,#学生id
    name varchar(10),#学生名字#varchar属于可变字符串长度,最大为10
    gender char(1),#学生性别,#char类型是固定长度的字符串 例如 char(2)  存储:'男 ' 会自动补充空格
    birthday date,#学生生日
    score double,#学生分数
    email varchar(64),#学生邮箱
    tel varchar(20),#学生电话
    state int #使用数字来表示,0是正常,1是病假
);

展示表的结构:

sql 复制代码
desc student;

删除表:

删除表

drop table 表名;

删除表,如果存在的话

drop table if exists 表名;

修改表

1修改表名

alter table 表名 rename to 新的表名

2添加一列

alter table 表名 add 列名 数据类型

3修改数据类型

alter table 表名 modify 列名 新数据类型

4修改列名和数据类型

alter table 表名 change 列名 新列名 新数据类型

5删除列

alter table 表名 drop 列名

sql 复制代码
#修改表的名字为stu
alter table student rename to stu;
show tables;
#向表中添加新的一列
alter table stu add marks varchar(100);
desc stu;
#修改表中某一列的类型
alter table stu modify marks char(50);
desc stu;
#修改表中某列的列名和列的类型
alter table stu change marks mymark int;
desc stu;
#删除某个列
alter table stu drop mymark;
desc stu;

**DML语言:

针对数据表中的记录进行增删改操作**

添加

1 向数据表指定列添加数据

insert into 表名(列名1,列名2...) values(值1,值2)

2给全部列添加数据

insert into 表名 values(值1,值2...)

3批量添加数据

insert into 表名(列名1,列名2...) values(值1,值2...),values(值1,值2...)...;

sql 复制代码
#1向表中的指定列添加数据
insert into stu(id,name) values (3,'hhh');#SQL中字符串使用单引号
insert into stu(id,name,gender,birthday,score) values (3,'小何','男','2005-2-1',100.0);
desc stu;
#2向表中的所有列中添加数据
insert into stu values (6,'cc','女','2009-3-1',90.0,'qq@.com','182',1);
#3向表批量添加数据
insert into stu (name,score) values ('ddd',89),('kkk',70);
相关推荐
这个DBA有点耶22 分钟前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
旖旎夜光26 分钟前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
揽星河..44 分钟前
【C语言】结构体
c语言·开发语言
2601_966949651 小时前
如何封装 qd.klines.batch(),让批量 K 线查询函数在多个策略中复用?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
无言听风雨丶2 小时前
Redis 运维实战与排错
运维·数据库·redis
神仙别闹2 小时前
基于Python实现英词语自动对齐系统
开发语言·python
akinggw2 小时前
libagentcore - 一个基于c++的AI多agent系统升级到2.0版本
开发语言·jvm·c++
老歌老听老掉牙3 小时前
圆柱端面四平面交线及其在yoz面投影的几何解析与 Python 实现
开发语言·python·平面
小天源3 小时前
智叟云集系统 · 架构与职责分层
服务器·前端·数据库
旖旎夜光3 小时前
【C++ 基础入门】命名空间、输入输出、缺省参数与函数重载
开发语言·c++·笔记·学习