【MySQL】不允许你不会SQL语句之DDL

这篇具有很好参考价值的文章主要介绍了【MySQL】不允许你不会SQL语句之DDL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【MySQL】不允许你不会SQL语句之DDL

目录

前言:

一.DDL数据库语句

1.1语句讲解

1.2总结

二.DDL表语句

2.1语句讲解

2.2总结

三.DDL字段语句

3.1语句讲解

3.2总结

四.MySQL数据类型

五.结尾


前言:

  在从零到一入门MySQL一篇中,我们对数据库已经有了一定的了解,接下来让我们学习SQL语句吧!

  如果你对数据库的创建,查找,删除;表的创建,字段的增删不清楚,看完本篇,你一定有所收获!

一.DDL数据库语句

1.1语句讲解

  DDL是数据定义语言,用来对数据库、表、字段进行操作。

show databases;

  这句代码是让命令行窗口显示服务器里一共有多少个数据库,请看下图:

【MySQL】不允许你不会SQL语句之DDL

  MySQL系统软件下载后,里面默认有四个系统数据库。

create database if not exists 数据库名 default charset utf8mb4;

  这句代码是创建一个数据库的DDL语句。其中的if not exists 和 default charset utf8mb4是可以省略的。

  if not exists的作用是,如果存在test这个数据库,这句代码什么都不执行,不存在就创建test数据库。

【MySQL】不允许你不会SQL语句之DDL

  下滑线部分表示数据库创建成功。

  补充:数据库中有些字符用3个字节不够表示,utf8的大小是3个字节,utf8mb4是4个字节大小。

use 数据库名;

  这句代码的作用是指定使用数据库

【MySQL】不允许你不会SQL语句之DDL

  在一般情况下,对一个数据库里的表、字段进行多步操作后,已经忘了自己所处的数据库,使用这句代码:

select database();

  这句代码可以指出现在处在哪个数据库。

【MySQL】不允许你不会SQL语句之DDL

drop database if exists 数据库名;

  这句代码是删除数据库的代码,if exists可以省略,意思是如果存在test数据库就删除,否则不执行任何操作。

【MySQL】不允许你不会SQL语句之DDL

1.2总结

  DDL语句对数据库的操作有如下:

【MySQL】不允许你不会SQL语句之DDL


二.DDL表语句

2.1语句讲解

  数据库的数据模型里,数据库里包含表,所以在讲表的知识,先创建一个数据库先。

show tables;

  查询当前使用数据库里包含的所有

【MySQL】不允许你不会SQL语句之DDL

  由于是新建的数据库,所以是空表Empty。

create table employee(
id int comment '编号',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄'
)comment '员工表';

  这是创建表的代码,我们来慢慢分析,别怕!

  首先create table是创建表的意思,这个表名是employee
  接着id、gender、age是表格的字段名int、char(1)、tinyint是数据类型
  最后comment这一部分是注释,可以省略。

【MySQL】不允许你不会SQL语句之DDL

【MySQL】不允许你不会SQL语句之DDL

  每一个字段与另一个字段之间用逗号隔开,最后一个不加逗号。

desc 表名;

  这句代码可以显示表的字段名,字段的数据类型

【MySQL】不允许你不会SQL语句之DDL

  但是看不到注释,虽然我们知道id可能是编号的意思,但是什么编号就不知道了,普通人?门诊号?还有一种查表的语句:

show create table 表名;

  这句代码的意思是,展示创建表时的语句

【MySQL】不允许你不会SQL语句之DDL

alter table 表名 rename to 新表名;

  这句代码的意思是选择原先的表名,成新的表名

【MySQL】不允许你不会SQL语句之DDL

drop table if exists 表名;

  这句代码是用来删除指定表名的,if exists可以省略,它的意思同前面用到的地方意思是一样的。

【MySQL】不允许你不会SQL语句之DDL

  删完之后,test数据库里就没有表了,所以再次显示表的信息时为空。 

truncate table 表名;

  这句代码也是用来删除表的,但它会重新创建一个相同类型的没有数据的表,但表的结构还在。

  比如前面emp这个表不是使用drop而是使用truncate的话,那在show tables的时候,还能看到emp表。

2.2总结

  DDL语句对表的操作有如下:

【MySQL】不允许你不会SQL语句之DDL


三.DDL字段语句

3.1语句讲解

  对表中的字段进行操作,也是DDL语句有的属性。接下来我们就来学习对字段的操作吧~

【MySQL】不允许你不会SQL语句之DDL

  突然觉得这个表在创建的时候,没有添加一个信息,想增加一个字段,可以这样做:

alter table 表名 add 字段名 数据类型 [comment '注释'];

  比如想加一个表示薪资的字段:

【MySQL】不允许你不会SQL语句之DDL

   老板发现工资用int表示,工资给太高了,想给个小一点的整型表示,于是:

alter table 表名 modify 字段名 新数据类型;

【MySQL】不允许你不会SQL语句之DDL

  这样就可以改掉原先字段的数据类型了,老板很是开心~

  后来老板发现,这个薪资不能直接用数字表现出来,用等级的话隐蔽性会更好,这就需要更换整个字段

alter table 表名 change 旧字段 新字段 新数据类型 [comment '注释']; 

【MySQL】不允许你不会SQL语句之DDL

  此时,老板的想法达成了。

alter table emp drop 字段名;

  这段代码的意思是删除指定表的字段名。 

【MySQL】不允许你不会SQL语句之DDL

3.2总结

  以下是DDL语句对字段的操作:

【MySQL】不允许你不会SQL语句之DDL

  讲到这里,DDL语句的基本操作就讲完啦!可能读者很好奇tinyint、smallint、char(1)这些是什么,我们接下来看。

四.MySQL数据类型

  SQL里的数据类型和其它编程语言有点区别,但也有相似的地方,它分为三类,我们直接看图吧。

【MySQL】不允许你不会SQL语句之DDL

 整型

  数值类型是其中的一种类型,tinyint的大小是一个字节的整型,相当于C语言里的char类型。

  smallint相当于C里的shortbigint相当于C里的long long类型。特殊一点的是mediumint占三个字节大小

  浮点类型和C是一样的,有两点特别的是:decimal和控制浮点数小数点保留位数的方式。

  这里得引入两个概念,精度和标度

  • 精度是浮点数总共有多少位数,比如3.14的精度是3。
  • 标度是浮点数有多少个小数位,6.1的标度是1。

  如何表示三位数,一个小数位呢?首先总共有四个有效位,其次是一个小数位,是这样表示的double(4,1)。


【MySQL】不允许你不会SQL语句之DDL

  在字符串类型里,有char和varchar,学过C语言的读者会联想到表示字符串用char arr[元素个数]数组表示。

  在MySQL用char(元素个数)表示定长数组,varchar(元素个数)表示可变数组。注意不是方括号

  blob是表示二进制数据的数据类型,text是表示文本数据的数据类型;

  二进制数据类型的有软件包、音频呀这些。一般不会用数据库存储的。

  tinyblob一个字节、blob两个字节、mediumblob三个字节、longblob四个字节、text一样的,博主不赘述了。


【MySQL】不允许你不会SQL语句之DDL

  表示日期时间的数据类型:

  date是表示年月日--- yyyy--mm--dd

  time是表示时分秒--- hh--mm--ss

  year是表示年--- yyyy

  datetime表示年月日,时分秒

  timestamp表示的也是年月日,时分秒,不同于datetime的是timestamp是时间戳,由于数值溢出的原因,在2038年会失效,也叫Unix千年臭虫。


五.结尾

  好啦,到这里就讲完SQL语句里的DDL语言,还讲了MySQL中的数据类型与其它编程语言有一定联系,也有区别。

  下面我们将会继续学习SQL语句的另一个分类DML,点点关注不迷路~文章来源地址https://www.toymoban.com/news/detail-474119.html

到了这里,关于【MySQL】不允许你不会SQL语句之DDL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL】不允许你不会创建高级联结

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ 😁大家好呀,今天是我第N次写MySQL,也是最近才学习MySQL,也想着记录

    2024年02月13日
    浏览(37)
  • 【MySQL】不允许你不会使用组合查询

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ 😁大家好呀,今天是我第N次写MySQL,也是最近才学习MySQL,也想着记录一

    2024年02月15日
    浏览(29)
  • 【MySQL】不允许你不会使用子查询

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ 😁大家好呀,今天是我第N次写MySQL,也是最近才学习MySQL,也想着记录

    2024年02月12日
    浏览(35)
  • 【MySQL】不允许你不会全文本搜索

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ 😁大家好呀,今天是我第N次写MySQL,也是最近才学习MySQL,也想着记录一

    2024年02月16日
    浏览(32)
  • MySQL数据库中的索引(含SQL语句)

    假设有一张表,表中有100万条数据,这100万条数据在硬盘上是存储在数据页上的,一页数据大小为16k。存储100万条数据那么就需要数据页,假设其中有一条数据是“id为7900”的,那么如果要查询这条数据,其中SQL是SELECT * FROM 表名 WHERE id = 7900。在执行这条SQL语句的时候,MyS

    2024年02月02日
    浏览(60)
  • 数据库应用:MySQL数据库SQL高级语句与操作

    目录 一、理论 1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.MySQL中6种常见的约束 二、实验  1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.主键表和外键表  三、总结 克隆表:将数据表的数据记录生成到新的表中。 (1)克隆表 ① 先创建再导入 ② 创建

    2024年02月13日
    浏览(60)
  • mysql,用sql语句,建立学生-课程数据库基本表

    学生表 学号 姓名 年龄 性别 院系 Student Sno Sname Sage Ssex Sdept 课程表 课程号 课程名 先行课 学分 Course Cno Cname Cpno Ccredit 选课表 学号 课程号 成绩 SC Sno Cno Grade 注意创建表的时候要注意它的字段名,类型,长度,约束条件,取值范围要合适,大小写符号要正确,中文逗号,分号

    2024年02月08日
    浏览(45)
  • MySQL相关的SQL语句、数据库、数据表、字段、类型

    1、 SQL 语句不区分大小写。 SQL语句 用途 描述 mysql -u root -p 连接 MySQL 在命令行窗口中输入 mysql -u root -p 命令,回车,然后输入 MySQL 密码(不要忘记了密码,找回麻烦),再回车就连接上 MySQL 了。最初都是使用 root 用户登录,工作中不能一直使用 root 用户登录。因为 root 权限太

    2024年02月13日
    浏览(69)
  • MySQL数据库概念、管理以及SQL语句的基本命令操作

    数据(data) 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录等 以“记录”形式按统一格式进行存储(记录可以看成一条记录) 表 将不同的记录组织在一起 用来存储具体数据 记录:行 字段(属性):列 以行+列的形式就组成了表(数据存储在表中) 数

    2024年02月08日
    浏览(59)
  • MySQL数据库第十一课---------SQl语句的拔高-------水平提升

                                                       个人主页 ::小小页面                   gitee页面 :秦大大                 一个爱分享的小博主  欢迎小可爱们前来借鉴 ______________________________________________________    SQL提高   日期函数     

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包