mysql学习——SQL中的DDL和DML

SQL中的DDL和DML

  • DDL
    • 数据库操作:
    • 表操作
  • DML
    • 添加数据
    • 修改数据
    • 删除数据

学习黑马MySQL课程,记录笔记,用于复习。

DDL

DDL:Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段)

数据库操作:

#查询所有数据库
show databses;
#查询当前数据库
select database();
#创建数据库
create database [if not exists] 数据库名称 [default charset 字符集] [collate 排序规则];
create database itcast;
create database if not exists itcast;
create database itheima default charset utf8mb4;#指定字符集
drop database [if exists] 数据库名称
drop database if exists itcast;
use itcast;#使用

表操作

表操作–查询创建

#查询当前数据库所有表
show tables;
#查看指定表结构
desc itheima;
#查询指定表 的建表语句
show create table itheima;
##
create table tb_user(
id int comment '编号',
name varchar(50) comment '姓名',
age int comment '年龄',
gender varchar(1) comment '性别'
) comment '用户表';

表操作-数据类型
MySQL中的数据类型主要分为三类:数值类型、字符串类型、日期时间类型。
1). 数值类型

类型大小
tinyint1byte
smallint2
mediumint3
int4
bigint8
float4
double8
age tinyint unsigned
score float(4,1)
score double(4,1)

2). 字符串类型

类型大小
char0-255byte
varchar0-65535 bytes

char 与 varchar 都可以描述字符串,char的性能会更高些。
char是定长字符串,和字段值的长度无关 。varchar是变长字符串,指定的长度为最大占用长度 。

3). 日期时间类型

类型大小范围格式
data31000-01-01 至 9999-12-31YYYY-MM-DD
time3-838:59:59 至 838:59:59HH:MM:SS
year11901 至 2155YYYY
datatime81000-01-01 00:00:00
至9999-12-31 23:59:59
YYYY-MM-DD
HH:MM:SS
timestamp41970-01-01 00:00:01
至2038-01-19 03:14:07
YYYY-MM-DD
HH:MM:SS
create table emp(
id int comment '编号',
workno varchar(10) comment '工号',
name varchar(10) comment '姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号',
entrydate date comment '入职时间'
) comment '员工表';

表操作-修改

#添加字段
ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
ALTER TABLE emp ADD nickname char(20) COMMENT '昵称';
#修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);
ALTER TABLE emp MODIFY nickname varchar(20);
#修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';
#删除字段
ALTER TABLE 表名 DROP 字段名;
ALTER TABLE emp DROP username;
#修改表名
ALTER TABLE emp RENAME TO employee;

表操作-删除

#删除表
DROP TABLE [ IF EXISTS ] 表名;
#删除指定表, 并重新创建表 truncate
TRUNCATE TABLE 表名;

在这里插入图片描述

DML

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增(install)、删(delete)、改(update)操作。

添加数据

创建表格emp

create table emp(
id int comment '编号',
workno varchar(10) comment '工号',
name varchar(10) comment '姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号',
entrydate date comment '入职时间'
) comment '员工表';
#给指定字段添加数据
insert into 表名 (字段名1, 字段名2, ...) values (1,2, ...);
insert into emp(id,workno,name,gender,age,idcard,entrydate) values(1,'1','Itcast','男',10,'123456789012345678','2000-01-01');insert into emp values(1,'1','Itcast','男',10,'123456789012345678','2000-01-01');
#批量添加
insert into emp values(3,'3','韦一笑','男',38,'123456789012345670','2005-01-
01'),(4,'4','赵敏','女',18,'123456789012345670','2005-01-01');
#查询数据
select * from emp;

修改数据

#添加如果没有,会修改表的所有数据
UPDATE 表名 SET 字段名1 =1 , 字段名2 =2 , .... [ WHERE 条件 ];
update emp set name = 'itheima' wh;
update emp set name = '小昭' , gender = '女' where id = 1;
update emp set entrydate = '2008-01-01';

删除数据

DELETE FROM 表名 [ WHERE 条件 ] ;
delete from emp where gender = '女';
delete from emp;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/32651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言入门课程学习笔记8:变量的作用域递归函数宏定义交换变量

C语言入门课程学习笔记8 第36课 - 变量的作用域与生命期(上)第37课 - 变量的作用域与生命期(下)实验—局部变量的作用域实验-变量的生命期 第38课 - 函数专题练习第39课 - 递归函数简介实验小结 第40课 - C 语言中的宏定义实验小结…

基于Java的学生成绩管理系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:Java技术,B/S结构 工具:MyEclipse,MySQL 系统展示 首页 个人中…

基于YOLOv5+pyqt5的跌倒检测系统(含pyqt页面、训练好的模型)

简介 跌倒是老年人和身体不便者常见的意外事故,及时检测和处理跌倒事件对于保障他们的安全至关重要。为了提高对跌倒事件的监控效率,我们开发了一种基于YOLOv5目标检测模型的跌倒检测系统。本报告将详细介绍该系统的实际应用与实现,包括系统…

虚拟机IP地址频繁变化的解决方法

勾八动态分配IP,让我在学习redis集群的时候,配置很多的IP地址,但是由于以下原因导致我IP频繁变动,报错让我烦恼!!!! 为什么虚拟机的IP地址会频繁变化? 虚拟机IP地址频繁…

终极解决方案,传统极速方案,下载软件的双雄对决!

在数字资源日益丰富的今天,下载管理器成为了我们日常生活中不可或缺的工具。市场上两款备受欢迎的下载管理软件——Internet Download Manager(IDM)和迅雷11,它们以各自的特色和优势,满足了不同用户群体的需求。 软件…

uniapp使用伪元素实现气泡

uniapp使用伪元素实现气泡 背景实现思路代码实现尾巴 背景 气泡效果在开发中使用是非常常见的,使用场景有提示框,对话框等等,今天我们使用css来实现气泡效果。老规矩,先看下效果图: 实现思路 其实实现这个气泡框的…

自动驾驶规划中使用 OSQP 进行二次规划 代码原理详细解读

目录 1 问题描述 什么是稀疏矩阵 CSC 形式 QP Path Planning 问题 1. Cost function 1.1 The first term: 1.2 The second term: 1.3 The thrid term: 1.4 The forth term: 对 Qx 矩阵公式的验证 整体 Q 矩阵(就是 P 矩阵,二次项的权重矩阵&…

java打印菱形和空心菱形

java打印菱形 菱形分上下两个部分。其中上部分同打印金字塔;下部分循环部分i是递减 (ps:菱形层数只能为奇数) import java.util.Scanner;public class Lingxing{public static void main(String[] args) {Scanner myScanner new Scanner(S…

Android View点击事件分发原理,源码解读

View点击事件分发原理,源码解读 前言1. 原理总结2.1 时序图总结2.2 流程图总结 2. 源码解读2.1 Activity到ViewGroup2.2 ViewGroup事件中断逆序搜索自己处理点击事件ViewGroup总结 2.3 ViewOnTouchListeneronTouchEvent 3. 附录:时序图uml代码 前言 两年…

Nginx Proxy Manager反向代理Jackett

1 说明 最近折腾nas,发现npm反向代理Jackett后出现无法访问的问题,是因为外网访问jackett (例如https://domain.com:7373/jackett/UI/Dashboard)时,url会被重定向到https://domain.com/jackett/UI/Login?ReturnUrl%2Fjackett%2FUI%2FDashbo…

ubuntu链接mysql

C链接mysql 报错 sudo apt-get update sudo apt-get install libmysqlclient-dev 指令编译 g -o mysql_example mysql_example.cpp -I/usr/include/mysql -lmysqlclient g mysql_test.cpp mysql_config --cflags --libs 安装mysql sudo apt updatesudo apt install mysql-…

Java程序之动物声音“模拟器”

题目: 设计一个“动物模拟器”,希望模拟器可以模拟许多动物的叫声和行为,要求如下: 编写接口Animal,该接口有两个抽象方法cry()和getAnimalName(),即要求实现该接口的各种具体的动物类给出自己的叫声和种类…

尹会生:从零开始部署翻译助手【总结】

安装docker安装dify 工具准备 Docker 简介:可以在不同电脑上运行相同的容器,类似于把软件装在便携箱子里,随身携带。 优点:安装Docker可以简化部署过程,避免安装许多依赖性软件。 网址:https://www.docke…

【TOOL】ceres学习笔记(二) —— 自定义函数练习

文章目录 一、曲线方程1. 问题描述2. 实现方案 一、曲线方程 1. 问题描述 现有数学模型为 f ( x ) A e x B s i n ( x ) C x D f(x)Ae^xBsin(x)Cx^D f(x)AexBsin(x)CxD ,但不知道 A A A 、 B B B 、 C C C 、 D D D 各参数系数,实验数据中含有噪声…

基于Java作业管理系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

Java——集合(一)

前言: Collection集合,List集合 文章目录 一、Collection 集合1.1 集合和数组的区别1.2 集合框架1.3 Collection 集合常用方法1.4 Collction 集合的遍历 二、List 集合2.1 List 概述2.2 List集合的五种遍历方式2.3 List集合的实现类 一、Collection 集合 1.1 集合和…

Vitis Accelerated Libraries 学习笔记--OpenCV 安装指南

目录 1. 简介 2. 安装过程 2.1 安装准备 2.2 编译并安装 XRT 2.2.1 下载 XRT 源码 2.2.2 安装依赖项 2.2.3 构建 XRT 2.2.4 打包 DEB 2.2.5 安装 XRT 2.3 编译并安装 OpenCV 2.3.1 下载 OpenCV 源码 2.3.2 创建目录 2.3.3 设置环境变量 2.3.4 构建 opencv 3. 总…

ping命令返回结果实例分析

测试在各相关情况下ping命令回复信息。 网络环境搭建如下图所示: 【1】R1、R2、PC1和PC2没有配置,测试ping命令回复 在路由器没有配置端口IP地址和路由,PC没有配置IP地址、子网掩码和网关的情况下,PC2 ping 192.168.1.1。 在PC没…

加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新

6月21日-23日,2024华为开发者大会(HDC 2024)如期举行。在22日的【鸿蒙生态伙伴SDK】分论坛中,正式发布了【鸿蒙生态伙伴SDK市场】,其中蚂蚁数科旗下移动开发平台mPaaS(以下简称:蚂蚁mPaaS&#…

QtCreator/VS中制作带有界面的动态库

1、首先创建动态库项目 class UNTITLED25_EXPORT Untitled25 {public:Untitled25(); };2、直接右键创建同名窗口类进行覆盖 3、引入global头文件并添加到处宏</