MySQL基础篇语句--DDL语句

news2025/1/14 1:25:29

SQL简介

当面对一个陌生的数据库时,通常需要一种方式与它交互,以完成用户所需要的各种工作,这个时候,就要用到SQL语言了。 SQL是Structure Query Language(结构化查询语言)的缩写,它是使用关系模型的数据库应用语言,由IBM在20世纪70年代开发出来,作为IBM关系数据库原型System R的原型关系语言,实现了关系数据库中的信息检索。 20世纪80年代初,美国国家标准局(ANSI)开始着手制定SQL标准,最早的ANSI标准于1986年完成,就被叫做SQL-86。标准的出台使SQL作为标准关系数据库语言的地位得到了加强。SQL标准目前已几经修改,更趋完善。 正是由于SQL语言的标准化,所以大多数关系型数据库系统都支持SQL语言,它已经发展成为多种平台进行交互操作的底层会话语言。

SQL分类

SQL语句主要可以划分为以下3个类别。

  1. DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段,数据库,表,列,索引等数据库对象。常用的语句关键字主要包括create,drop,alter等。
  2. DML(Data Manipulation Language)语句:数据操纵语句,用于添加,删除,更新和查询数据库记录,并检查数据完整性。常用的语句关键字主要包括insert,delete,update,select等。
  3. DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库,表,字段,用户的访问权限和安全级别。主要的语句关键字包括grant,revoke等。 DDL语句

Server version: 5.7.20 MySQL Community Server (GPL) 表示MySQL服务器的版本,本例中是5.7.20社区版

创建数据库的语法是

CREATE DATABASE dbname

执行完创建命令后,下面有一行提示“Query OK, 1 row affected(0.00sec)”,这段提示可以分为3部分。“Query OK”表示:所有的DDL和DML(不包括SELECT)操作执行成功后都显示“Query OK”,这里理解为执行成功就可以了,这个是MySQL的一个特点。“1 row affected”表示操作只影响了数据库中一行的记录,“0.00sec”则记录了操作执行的时间。

查看系统中存在哪些数据库命令

SHOW DATABASES;

上面有4个是安装MySQL时系统自动创建的,其各自功能如下

  1. information_schema:主要存储了系统中的一些数据库对象信息,比如用户表信息,列信息,列信息,权限信息,字符集信息,分区信息等。
  2. cluster:存储了系统的集群信息。
  3. mysql:存储了系统的用户权限信息
  4. test:系统自动创建的测试数据库,任务用户都可以使用。 选择要操作的数据库命令
 USE dbname

 USE dbname

DROP DATABASE dbname;

创建表

在数据库中创建一张表的基本语法如下: CREATE TABLE tablename{ column_name_1 column_type_1 constranints column_name_2 column_type_2 constranints …. column_name_n column_type_n constranints } 因为MySQL的表明是以目录的形式存在于磁盘上的,所以表名的字符可以用任何目录名称允许的字符。column_name是列的名字;column_type是列的数据类型;constraints是这个列的约束条件。

创建一张名称为emp表。表中包括ename(姓名),hiredate(雇用日期),和sal(薪水)3个字段,字段类型分别为varchar(10),date,int(2) CREATE TABLE emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));

查看表定义命令

DESC tablename

 获取更全面的表定义信息,可以查看创建表的SQL语句,命令如下

SHOW CREATE TABLE dbname;

修改表

修改表类型

ALTER TABLE tablename MODIFY[COLUMN] colunm_defintion[FIRST\AFTER col_name]

修改表emp的ename字段定义,将varchar(10)改为varchar(20):

alter table emp modify ename varchar(20);

增加表字段,语法如下

ALTER TABLE tablename ADD[COLUMN] column_defintion[FRISE\AFTER col_name]

删除表字段,语法如下

ALTER TABLE tablename DROP [COLUMN] col_name

将字段age删除掉

ALTER TABLE emp DROP age;

字段改名,语法如下

ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_defintion[FIRST\AFTER col_name]

例如,将age改名为age1,同时修改字段类型为int(4);

ALTER TABLE emp CHANGE age age1 int(4);

注意:change和modify都可以修改表的定义,不同的是change后面需要写两次列名,不方便,但是change的有点是可以修改列名称,modify不能

修改字段排列顺序 字段增加和修改语法(ADD/CHANGE/MODIFY)中,都有一个可选项first|after column_name,这个选项可以用来修改字段在表中的位置,ADD增加的新字段默认是加在表的最后位置,而CHANGE/MODIFY默认都不会改变字段位置

将新增的字段birth date加在ename之后

注意 : CHANGE /FIRST/AFTER COLUMN这些关键字都属于MySQL在标准SQL上的扩展,在其他数据库上不一定适用。

更改表名,语法如下

ALTER TABLE tablename RENAME [TO] new_tablename

 将emp表名修改成emp1

 

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

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

相关文章

传统推荐模型(一)协同过滤算法_UserCF和ItemCF

传统推荐模型(一)协同过滤算法_UserCF 1、UserCF 协同过滤就是协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。 物品1物品2物品3物品4物品5用户131233用户243435用户333154用户41552…

OneNote(或印象笔记)迁移到Joplin的方法

2023年1月10日实操记录简介背景是必须卸载OneNote,所以要迁移笔记。告别了用了23年的Outlook ,和10年左右的OneNote,小伤感,自此一别 就不能用练就的VBA技能在Excel和Access中处理数据了。。。基本前提Joplin支持.enex格式文件的导…

总结述职报告撰写方法,报告目的、对象、内容、技巧等

导语 又到年末时,述职报告再一次席卷而来。这篇文章将带来干货满满的述职报告撰写方法,包括述职目的、对象、内容、技巧等多个方面。 一、述职目的 有多少人认为,述职只是走个形式,走个过场的? 如果你这样认为&#x…

2023济南制药机械展|中国(济南)国际制药机械与包装技术展览会

2023中国(济南)国际制药机械与包装技术展览会将于2023年3月30-4月1日在山东国际会展中心(济南市槐荫区日照路1号)同期举办:2023第11届国际生物发酵展2023国际生化仪器与实验室装备展2023国际生物技术与生物制药展支持单…

以太网链路聚合与交换机堆叠、集群

网络的可靠性 网络的可靠性指当设备或者链路出现单点或者多点故障时保证网络服务不间断的能力网络的可靠性可以从单板、设备、链路多个层面实现 一般重要的核心设备都有一定的冗余 s12700E-8机框正面结构 框式交换机由机框、电源模块、风扇模块、主控板、交换网板&#xff…

CSS入门六、常用技巧

零、文章目录 文章地址 个人博客-CSDN地址:https://blog.csdn.net/liyou123456789个人博客-GiteePages:https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee:https://gitee.com/bluecusliyou/TechLearnGithub:https:…

人工智能-linux高级操作命令

目录1、 重定向命令2、查看文件内容命令3、链接命令3.1 软链接4、查找文件内容命令5、查找文件命令6、压缩和解压缩文件7、文件权限命名8、获取管理员权限的相关命令9、远程登陆、远程拷贝10、软件安装与卸载11、vim介绍1、 重定向命令 将目录下的文件名全部写入新文件 touch …

场景编程集锦 - BMI指数与健身达人

1. 场景描述 BMI指数(身体质量指数,英文Body Mass Index)是用体重公斤数除以身高米数的平方得出的数字,是目前国际上通用的衡量人体胖瘦程度以及是否健康的一个标准。“身体质量指数”这个概念,是由19世纪中期的比利时…

马蹄集 宽度与对齐

宽度与对齐 难度:白银 时间限制:1秒巴占用内存:64M 输出455、-123、987654,宽度为5,分别左对齐和右对齐 格式 输入格式:无 输出格式:输出为整型,空格分隔。每个数的输出占一行 #inc…

[34]. 在排序数组中查找元素的第一个和最后一个位置

在排序数组中查找元素的第一个和最后一个位置题目算法设计:二分查找题目 算法设计:二分查找 进行两次二分查找(定制版本),第一次先查找【第一个大于等于target的数】,第二次再查找【第一个大于target的数】…

Mac安装python3并配置环境变量

文章目录homebrew 安装 python3配置 python3 环境变量homebrew 安装 python3 可以用 homebrew 安装,也可以官网下载安装,我这里选择使用 homebrew 安装,没有装 homebrew 的小伙伴请自行百度 brew install python3我们执行下 python3 发现可…

Centos7安装高版本zshzim框架安装powerlevel10k

1. 安装高版本zsh 1.1 卸载低版本zsh sudo yum remove zsh -y1.2 下载源码 源码:https://zsh.sourceforge.io/Arc/source.html # 下载 wget https://jaist.dl.sourceforge.net/project/zsh/zsh/5.9/ # 解压 $ tar xvf zsh-5.9.tar.xz1.3 编译安装 yum install …

新应用——养老院管理应用,信息化的多功能管理应用

养老院管理系统专门为医养结合的养老机构量身打造的信息化管理系统,还适用于社区医院,包含诊断、病历、财务、物资、照护记录、处方等功能点。此应用分为经营管理、长者管理、物资库存、财会综合等四个大模块,全方面打造适用于养老院&#xf…

精准招聘!一图了解2023牛客校招专场

当「简历海投」成为当代大学生一种「硬核求职」的方式,如何精准地找到与招聘目标相匹配的专业人才成为HR校园招聘工作中的一大难点。为了帮助企业解决这些难题,牛客为企业推出了「牛客招聘专场」助力企业做好雇主品牌传播,提升收到的简历质量…

自动驾驶道路曲率计算

自动驾驶系列 车道曲率和中心点偏离距离计算 文章目录自动驾驶系列目标一、曲率的介绍圆的曲率曲线的曲率二、实现1.计算曲率半径的方法,代码实现如下:总结目标 知道车道曲率计算的方法 知道计算中心点偏离距离的计算 一、曲率的介绍 曲线的曲率就是针…

CSS入门五、定位

零、文章目录 文章地址 个人博客-CSDN地址:https://blog.csdn.net/liyou123456789个人博客-GiteePages:https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee:https://gitee.com/bluecusliyou/TechLearnGithub:https:…

Revit出图问题:打印机中新建纸张尺寸?批量导出图纸?

一、Revit中在打印机中新建纸张尺寸 Revit导出PDF图纸,如何在打印机中新建纸张的尺寸? 在导出PDF的时候,我们需要将图纸放在合适的纸张页面上,而这个时候系统又没有提供所需的页面尺寸,如图1所示。 这种情况下我们该如…

数据结构学习笔记——二叉排序树

目录一、二叉排序树的定义二、二叉排序树的插入和构造三、二叉排序树的查找四、二叉排序树的平均查找长度五、二叉排序树的删除六、二叉排序树和二分查找对比二叉排序树的查找过程与折半查找(二分查找)相似,即折半查找的判定树就是一棵二叉排…

【安卓学习笔记】界面编程入门

安卓应用采用View组件进行界面布局,可以通过两种方式进行布局,分别是XML文件和Java代码。 其中采用XML文件进行布局是较好的方式,因为这样可以将XML文件和Java代码分开编写,使得项目结构变得更加清晰。 简单的图片浏览器 下面是…

git仓库清理瘦身解决 .git文件夹过大的问题

git仓库清理找了很多资料和方案都没有很完美执行成功的;现在找到一个完美方案,分享给大家;希望能帮助大家 问题 1、gitlab代码开发了仓库开发了五年了,代码只有10M;clone的时候要700多兆很浪费时间 2、创建分支和切换…