〖Python 数据库开发实战 - MySQL篇⑨〗- 什么是 SQL 语言、如何创建数据逻辑库及如何创建数据表

62 篇文章 0 订阅
60 篇文章 0 订阅

万叶集

?? 隐约雷鸣,阴霾天空。 ??

?? 但盼风雨来,能留你在此。 ??

[这里是图片002]


前言
作者简介:渴望力量的哈士奇 ,大家可以叫我 ??哈士奇?? ,一位致力于 TFS - 全栈 赋能的博主
?? CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 ??
?? 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步??
?? 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。??
?? 如果感觉博主的文章还不错的话,还请??关注、点赞、收藏三连支持??一下博主哦


专栏系列(点击解锁)

学习路线(点击解锁)

知识定位

??Python全栈白皮书??

零基础入门篇

以浅显易懂的方式轻松入门,让你彻底爱上Python的魅力。

语法进阶篇

主要围绕多线程编程、正则表达式学习、含贴近实战的项目练习 。

自动化办公篇

实现日常办公软件的自动化操作,节省时间、提高办公效率。

自动化测试实战篇

从实战的角度出发,先人一步,快速转型测试开发工程师。

数据库开发实战篇

掌握关系型与非关系数据库知识,提升数据库实战开发能力。

爬虫入门与实战

更新中

数据分析篇

更新中

前端入门+flask 全栈篇

更新中

django+vue全栈篇

更新中

拓展-人工智能入门

更新中

网络安全之路

踩坑篇

记录学习及演练过程中遇到的坑,便于后来居上者

网安知识扫盲篇

三天打鱼,不深入了解原理,只会让你成为脚本小子。

vulhub靶场漏洞复现

让漏洞复现变得简单,让安全研究者更加专注于漏洞原理本身。

shell编程篇

不涉及linux基础,最终案例会偏向于安全加固方向。 [待完结]

WEB漏洞攻防篇

2021年9月3日停止更新,转战先知社区等安全社区及小密圈

渗透工具使用集锦

2021年9月3日停止更新,转战先知社区等安全社区及小密圈

点点点工程师

测试神器 - Charles

软件测试数据包抓包分析神器

测试神器 - Fiddler

一文学会 fiddle ,学不会倒立吃翔,稀得!

测试神器 - Jmeter

不仅是性能测试神器,更可用于搭建轻量级接口自动化测试框架。

RobotFrameWork

Python实现的自动化测试利器,该篇章仅介绍UI自动化部分。

Java实现UI自动化

文档写于2016年,Java实现的UI自动化,仍有借鉴意义。

MonkeyRunner

该工具目前的应用场景已不多,文档已删,为了排版好看才留着。


在这里插入图片描述


文章目录

在之前的章节,我们对 MySQL 的安装、配置有了一定的了解。接下来的篇章我们将来学习一下如何操作逻辑库和数据表。


?? 什么是 SQL 语言

数据库呢为使用者留出了操作的接口,只要编写好 SQL 语句,数据库就能帮我们完成 增、删、改、查 等一系列操作,所以学习数据库的关键在于掌握 SQL 语言。

SQL 语言的全称叫做 “结构化查询语言” ,它也是一种计算机语言;但是与其他的编程语言相比较来说还是有很大的差异的。

比如说:

  • html、CSS、JavaScript 这三种计算机语言是用在 网页设计 上面的;
  • Swift 是用来发开 IOS 程序的;
  • C++、C#、VB 是用来开发桌面程序的;
  • SQL语言 只能用在数据库操作上面。

需要值得注意的是,每种数据库的 SQL 语言并不能 100% 兼容,就比如很多 Oracle 的 SQL 语句,在 MySQL 上就执行不了。这种现象叫做 SQL 语句的方言(即 SQL 语言是一套标准,所有的数据库厂商都实现了此标准;但是各自厂商在此标准上增加了特有的语句,这部分内容我们称为方言。)。虽说 SQL 语句有几十种,但是都很简单,所以大家尽可放心的学习。


?? SQL语言分类

SQL语言一共可以分为三大类:

  • 第一种:DML(数据操作语言),对数据表的 增、删、改、查 就是这一类语言。
  • 第二种:DCL (数据控制语言),对用户的创建、权限分配、事务的管理都是属于这一类的。
  • 第三种:DDL (数据定义语言),用来管理逻辑库、数据表、视图、索引的语言。

?? SQL语句注意事项

  • SQL 语句是不区分大小写的,但是字符串内容是区分大小写的(见下面的例句,可以先不用理解什么意思),比如下面这条SQL语句

    •   SELECT * from mysql.USER WHere USER = 'dev';
        
        -- 该SQL语句的 SELECT 、from 、WHere 三个关键字 就是大小写不区分或混着编写的,但是并不影响它的执行与查询结果;
        -- 但是 字符串的 'dev' 就需要明确的区分大小写了,因为它是作为一个 '值' 传入到数据库进行数据比对结果查询的。
      


  • SQL 语句必须以英文的分号结尾, ";"

  • SQL 语句中的空白和换行是没有限制的,但是不能破话语句的语法结构,如下:


?? SQL语句的注释

与开发语言一样, 在 SQL 语言中同样的有注释。

  • 单行注释:使用 # 在 SQL 语句的起始位即可,这样的话,在执行 SQL 语句的时候会跳过注释的语句
  • 多行注释:使用 /* xxxx */ 进行一段文字或者多行的注释,其中 xxxx 就是需要被注释的文字

示例如下:

# SELECT * from mysql.USER WHERE USER = 'root';

/*-------------------------------------------*/

/*
SELECT
	* 
FROM
	mysql.USER 
WHERE
	USER = 'dev';
*/

?? 创建逻辑库

在 MySQL中,如果想要保存数据,就必须先要有逻辑空间,也就是先要在数据目录里创建文件夹。

  • 创建逻辑空间的语句为:

    CREATE DATABASE 逻辑空间名称;		# 创建逻辑库语句(逻辑空间名称建议使用 英文 或者 英文+数字)
    
  • 查看逻辑空间的语句为:

    SHOW DATABASES;		# 显示当前所有的数据库逻辑空间
    
  • 删除逻辑空间的语句为:

    DROP DATABASE 逻辑空间名称;		# 删除书库逻辑空间语句
    


PS:创建逻辑库属于 DDL 语句!


?? 创建数据表

创建数据表 SQL 语句格式如下:

CREATE DATABASE 数据表名称(
	列名1 数据类型 [约束] [COMMENT 注释],
	列名2 数据类型 [约束] [COMMENT 注释],
	......
)[COMMENT = 注释 ];

# 这里的 "约束" 与 "注释" 是可选项,可填可不填。
# "约束" 是对该列的一个条件约束,比如说某字段为 "姓名" 一栏,"约束" 姓名字段不能为空
# "注释" 其实就是给人看的,直接跟上注释的内容就行了(列可以有注释,表也可以有注释。)

来看一个具体的创建 数据表 的例子:(需要注意的是,在进行创建数据表的时候,需要使用 USE 命令指定逻辑库。)

USE test;

CREATE TABLE student(
	id INT UNSIGNED PRIMARY KEY COMMENT "主键:id,呈递增状态,不可重复;UNSIGNED:无符号的整数,也就是说没有负数。",
	nane VARCHAR(20) NOT NULL COMMENT "name 为字符串类型,非固定长度字符串,长度不得超过 20 的数量,不可为空。",
	sex CHAR(1)NOT NULL COMMENT "sex 是固定的,要么男,要么女,所以只给一个字符串长度即可,不可为空。]",
	birthday DATE NOT NULL COMMENT "birthday wei 日期类型,不可为空。",
	tel CHAR(11) NOT NULL COMMENT "tel 长度为 11,不可为空",
	remark VARCHAR(200)COMMENT "remark就是一个备注字段的信息(长度不得超过200,因为可填可不停,所以就没加上约束)。" 
	)COMMENT "学生表";

这里先尝试添加两条数据用于展示,可以通过可视化的图形界面将数据添加进去,也可以通过 INSERT 语句添加数据(后续会针对增删改查进行详细的讲解)

  • 手动图形化添加:


  • SQL语句添加:执行 SQL INSERT INTO student VALUES(2, '李四', '男', '1990-12-12', '13312345678', '测试数据');



?? 数据表的其他常用操作

SHOW tables; 		 			# 显示当前数据库逻辑空间的数据表的名字
DESC student;				    # 显示当前表的结构信息(是数据表的信息,不是数据表的内容)
SHOW CREATE TABLE student ;		# 显示当前表创建时的SQL语句
DROP TABLE student ;			# 删除当前表

OK,到了这里估计大家也都知道了如何管理数据库的数据逻辑空间、管理数据表了,就到这里吧。

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值