2.1 SQL语言及如何创建数据表

一、什么是SQL语言

SQL语言全称叫做结构化查询语言,它是一种计算机语言,但是跟其他编程语言来比较还是有很大区别的。比如说HTML,CSS,Java script,这三种计算机语言是用在网页设计上面的。那么swift语言是用来开发IOS程序的,还有就是C++, C#,还有VB,它们是用来开发桌面程序的,而SQL语言只能用在数据库的操作上。每种数据库的SQL语言并不能100%兼容,比如说有很多oracle的SQL语句,拿到mysql上就执行不了,这种现象叫做SQL语句的方言。

虽说SQL语句有几十种,但是都很简单,所以大家尽可放心学习SQL语句,一共可以分为三大类,

第一类叫做DML:中文称作数据操作语言。对数据表儿的增删改查,基本就是这一类的SQL语句,

第二类SQL语句叫做DCL:中文称作数据控制语言,比如说创建用户,分配权限,以及事务的管理都是属于这一类的。

第三类叫做DDL语言:那么中文称作是数据定义语言,它是用来管理逻辑库,数据表,视图,索引的,一会儿我们要创建的逻辑库和数据表儿用的就是DDL语句。

二、SQL语言分类

编写SQL语句的注意事项我需要说明一下,

首先SQL语句是不区分大小写的,但是字符串儿里边的内容是区分大小写的

比如说下面有一条sql语句,这个select就是关键字,这个关键字你是写成大写的select,或者写成小写的select,或者大小写混着写的select都是可以的,mysql都是可以执行这样的sql语句。但是hello world被双引号儿给引起来以后,它就是一个字符串了,它不是关键字,在这个SQL语句里边,单引号儿和双引号儿都是用来定义字符串儿的,没有任何区别,都是可以通用的。那么比如说我就是希望打印出来的hello world,这个首字母是大写的,其余的字母是小写的,那你就这么写就行了,如果说你把这个hello world写成大写的字母的话,那么打印出来的内容就全都是大写的字母了所以说字符串儿的大写和小写是有区别的,那么关键字是没有区别的,所以我们在写sql语句的时候,我建议大家是关键字大写非关键字小写比如说。我们想查去某一张表的时候,那个表名儿我们就可以是小写的对吧?然后再有就是字符串儿里边,那该大写就写,该小写就小写,看你想输出什么结果。按照这个标准,写出来的sql语句才错落有致,非常方便阅读,那再有,就是sql语句的这个结尾要以英文的分号儿来结尾。还有就是在SQL语句中,这个空白,也就是空格儿,还有这个换行儿是没有限制的,比如说这个select和这个hello world之间,我打一个空格儿,或者说打10个空格儿,甚至说我换行儿这个都没有问题。

三、SQL语言注释

单行注释:如果说我们想在SQL语句中编写注释,那么有两种语法儿可以让我们选择。第一种语法儿是在文字前面加上一个 #。之前我们在看mysql配置文件的时候,发现很多文字前面儿都是以井号儿开头儿的,所以说,那么这段文字它就是一行注释而已,数据库在执行注释的时候直接跳过,不会真正的去执行注释。

多行注释:你只需要在这个注释的开头儿加上 /*,然后在这个注释的结尾加上*/,那里边不管你是写一段文字,两段文字,3段文字不管写多少行儿,那么它都是这个注释,所以这种写法适合多行的注释

四、创建逻辑库

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

创建逻辑空间的语句叫做create database,后面加上逻辑库的名称就行了。这个逻辑库的名称,建议大家用英文或者英文加数字,但是不建议用中文,那么逻辑库创建出来之后。

咱们现在想显示一下,我这个mysql里边一共有多少个逻辑空间,那么执行的语句叫做show databases就行了,这块儿是复数嘛对吧?是一个名词的复数。

然后再往下,如果说我想删除某一个逻辑空间,执行的sql语句叫做drop database,后面写上这个逻辑库的名字就行了。那么以上这3条语句都是属于DDL的语句

create database  逻辑库名称;show databases;   # 展示所有数据库drop database   逻辑库名称;

五、创建数据表

有了逻辑空间,接下来就应该去创建数据表来保存数据了,我们先来看看创建数据表的语法是什么,用到的关键字叫做create table,创建数据表也算是DDL语句,所以说create table这个SQL语句执行完以后,那么我们在数据目录里边就能看到这个数据表对应的文件了一会儿我们把这个数据表建出来,我切换到数据目录里面,咱们去观察一下,那么create table这个关键字后面,要跟上数据表儿的名字,名字呢是英文或者英文加数字。

create table要创建的数据表儿是student,就是学生表,然后其中的一个列也叫字段,那比如说这个ID字段就是学号,然后他的这个数据类型是int, int在数据库里边是整数的意思,因为学号不能有负数,所以说这块儿加上一个unsigned,就是无符号儿的这个整数,也就是说全都是这个没有负数的一个整数。然后再往下加上了一个约束,叫做primary key,这个翻译成中文叫做主键的意思。就是这个ID字段的值是不能重复的,因为大家也知道学号儿不能重复对吧?所以加上primary key这个主键约束以后,咱们的这个ID字段就不能保存重复的值了,如果保存重复的值,数据库会报错儿了。然后再往下,

name字段,它的这个类型是ver chat,ver chat这个类型在数据库里边是字符串儿的意思。因为每个人的这个名字不一样,有的人的名字是两个字的,有的是3个字,还有4个字的,如果是少数民族的话,那这个名字的长度可能还会再长一些,所以在这里边我定义的字符串儿是非固定长度的字符串儿,我只规定了这个字符串儿最大不可以超过20个字符。

然后再往下,这个名字是必须要填写的,不允许这个字段,没有数据,我加上了一个not null的约束。

然后再往下就是性别,因为性别都是固定的嘛,除了是男,要么就是女对吧?所以这个字符串儿就是一个字符是固定的就一个字符,所以这个类型儿就变成了char,不叫做varchar,这个char是固定长度的字符串儿,因为我可以确定就是一个字符,然后是not null也是必填的,

再往下就是出生的日期birthday,然后这个数据类型叫做date,然后也是必须要填的,再往下就是电话,那么手机号码是固定长度的,就是11个字符,它也是必须要填写的,加上not null,最后的话配上一个备注的字段remark,然后类型是varchart,长度是200,这个字符个数只要不超过200都可以

创建数据表事例

create table student(id int unsigned primary key,name varchar(20) not null,sex char(1) not null,birthday date not null,tel char(11) not null,remark varchar(200)
);insert into student values(1,"詹","男","1987-09-08","12323233433",NULL);

六、数据表的其他操作

  1. 比如说我想查看一下当前逻辑空间里边有什么样的数据表,那就执行show tables这条CQL语句,那打印出来的结果是逻辑空间里边数据表的名字。

2.我想看一下这个数据表的具体情况,那比如说我想看学生表这个具体的情况吧,加一个DESC就可以看到student这个数据表的情况了。

3.我想看这个数据表当初在创建时候的SQL语句可不可以?可以,那执行的语句叫做show create table,后面跟上student这张表就行了,那这个建表语句就可以被我们查询出来了。

4.如果说这个学生表我们不想要了,注意不是删除这个表的数据,是这个数据表我不想要了,那么怎么办?去执行一个语句叫做drop table,后面跟上这个表名就可以了

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

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

相关文章

反转字符串中的单词--力扣151

反转字符串中的单词 题目思路代码 题目 思路 题目的难点在于首先要清除多余的空格,并且单词之间要留一个空格,首单词前和末尾单词后不能有多余空格。我们使用双指针去除所有的空格,然后在处理完一个单词后手动加一个单词。具体思路是当快指针…

k8s快速搭建+prometheus部署及使用(纯干货!!!)

目录 环境准备 1.所有主机安装docker 2.部署harbor 3.部署k8s 集群初始化 安装网络插件(此时选择的是flannel网络插件 后面也有calico网络插件的安装方法) 节点扩容 4.calico网络插件的部署(如果安装了flannel插件需要先删除&#xf…

web前端-HTML常用标签-综合案例

如图&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document&…

LlamaIndex 中的 NodeParser

LlamaIndex 中 Document 会被转成 Node,Node 中的文字会进行 Embedding,最终保留向量数据做后续的搜索处理。这里的关键步骤是 Document 转为 Node 的策略,LlamaIndex 内置了多个 Document Reader 和 Node Parser,每个 NodeParser 都有自己的策略,需在初始化时进行设置。 …

基于springboot+vue超市管理系统

基于springbootvue超市管理系统 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本无人超市管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助使用者在…

STM32如何修改外部晶振频率和主频

对于STM32F10x系列的单片机&#xff0c;除了STM32F10x_CL单片机&#xff0c;其它的单片机一般外部晶振HSE的时钟频率都默认是8MHz。如果我们使用的外部晶振为12Mhz&#xff0c;那么可以把上图绿色标记改为:12000000 72MHz的主频8MHz的外部晶振HSE*倍频系数9。当然如果像上面把外…

四款好用的电脑录屏工具推荐!!

在科技日益发展的今天&#xff0c;屏幕录制已成为我们工作、学习和娱乐中不可或缺的一部分&#xff1b;无论是制作教程、记录游戏过程还是分享精彩瞬间&#xff0c;一个好的录屏工具都是不可或缺的&#xff1b;今天&#xff0c;我就为大家推荐四款实用又好用的电脑录屏工具&…

矿用立式负压自动排渣放水器感恩遇见

做良心产品一直是我们的初心好产品加上好服务&#xff0c;让您满意是我们一直的追求只凭低价去换取销量的话&#xff0c;就会想方设法降低成苯质量难有保障 矿用立式负压自动排渣放水器感恩遇见 概述 负压自动排渣放水器的型号为YCFP&#xff0c;YC指品牌永成&#xff0c;FP指…

mac os x 找不到钥匙串访问

昨天手贱更新了最新的mac系统&#xff0c;结果在实用工具中找不到钥匙串访问APP了。。。 最新mac系统为 15.0 (24A335) 真是醉了。。。 那就得想办法把他给呼出来&#xff0c;在开发者中心下载了一个.cer文件&#xff0c;然后双击打开&#xff0c;此时钥匙串打开了&#xff…

CSP-CCF★201912-2回收站选址★

一、问题描述 二、解答 代码&#xff1a; #include<iostream> #include<map> using namespace std; struct rubbish{int x;int y; }rub[1000]; int n; void input(){cin>>n;for(int i0;i<n;i){cin>>rub[i].x>>rub[i].y;} } bool has(int p,…

化繁为简:中介者模式如何管理复杂对象交互

化繁为简&#xff1a;中介者模式如何管理复杂对象交互 中介者模式 是一种行为型设计模式&#xff0c;定义了一个中介者对象&#xff0c;来封装一组对象之间的交互。中介者模式通过将对象之间的交互行为从多个对象中抽离出来&#xff0c;集中封装在一个中介者对象中&#xff0c;…

FedOV

3 FEDOV: ONE-SHOT FEDERATED OPEN-SET VOTING FRAMEWORK 3.1 PROBLEM STATEMENT 假设有个客户端及其本地数据集。我们的目标是在服务器的帮助下&#xff0c;在不交换原始数据的情况下&#xff0c;训练一个优秀的机器学习模型 。此外&#xff0c;每个客户端只允许与服务器进行…

掌握Python-uinput:打造你的输入设备控制大师

文章目录 掌握Python-uinput&#xff1a;打造你的输入设备控制大师背景&#xff1a;为何Python-uinput不可或缺&#xff1f;Python-uinput是什么&#xff1f;如何安装Python-uinput&#xff1f;简单库函数使用方法创建虚拟设备模拟按键模拟鼠标移动模拟滚轮滚动关闭设备 场景应…

ffmpeg 拉流

# 保存为视频 sudo ffmpeg -hwaccel rkmpp -vcodec h264_rkmpp -i "rtsp://user:passwdip:554" -c copy ./out.mp4 # 保存图片 ffmpeg -i "rtsp//" -y -f image2 -r 10/1 ../ffmpegData/img%03d.jpg jetson nano 查看解码器&#xff1a; ffmpeg -decode…

跟《经济学人》学英文:2024年09月21日这期 Britain should let university tuition fees rise

Britain should let university tuition fees rise Domestic students have been paying less in real terms every year 原文&#xff1a; In 2012 politicians in Britain burned lots of political capital by raising the cap on how much English universities can cha…

Type-C接口便携屏方案

随着科技的飞速发展&#xff0c;便携式电子产品在我们的日常生活中扮演着越来越重要的角色。在这一背景下&#xff0c;Type-C接口便携显示器作为一种新兴的显示设备&#xff0c;凭借其独特的优势迅速崭露头角&#xff0c;成为市场的新宠。本文将深入探讨Type-C接口便携显示器的…

vue无法通过页面路径访问提示404,通过nginx配置处理

部署vue项目时&#xff0c;可以通过IP的方式访问主页&#xff0c;当进入特定页面在刷新时&#xff0c;因为浏览器通过URL地址进行请求&#xff0c;就提示404错误。 每次都需要重新从主页进入&#xff0c;这里是因为nginx配置的问题&#xff0c;在nginx里增加一行重定向的设置 …

OJ 旋转图像

题目&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例&#xff1a; 解题规律: 我们以题目中的示例二作为例子&a…

一键快速替换PPT上的字体?这个你一定要学会。

前言 最近有个朋友在做PPT&#xff0c;说是准备在各大平台分发&#xff0c;咨询小白关于PPT上内容的事情&#xff0c;结果小白问了一句&#xff1a;字体用的是什么&#xff1f; 嗯……她说是&#xff1a;汉仪黑和字魂。 好家伙&#xff0c;这不是妥妥的当别人财神爷的机会吗&…

神奇的css动画:animation、transform、transition

前言 动画包括两个部分&#xff1a;描述动画的样式和用于指定动画开始、结束以及中间点样式的关键帧。 相比较于传统的脚本实现动画技术&#xff0c;使用css动画三个主要优点: 1.能够非常容易创建简单动画&#xff0c;甚至不需要了解JavaScript就能创建动画 2.动画运行效果…