SQL语句

 🎉欢迎您来到我的MySQL基础复习专栏

☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹
✨博客主页:小小恶斯法克的博客
🎈该系列文章专栏:重拾MySQL
🍹文章作者技术和水平很有限,如果文中出现错误,希望大家能指正🙏
📜 感谢大家的关注! ❤️

SQL通用语法

SQL语句可以单行或多行书写,以分号结尾。

SQL语句可以使用空格/缩进来增强语句的可读性。(空格与缩进个数没有限制)

MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

注释:

单行注释:-- 注释内容    或    #

注释内容多行注释:/* 注释内容 */

SQL分类

分类全称说明

DDL

Data Definition Language

数据定义语言,用来定义数据库对象(数据库,表, 字段)

DML

Data Manipulation Language

数据操作语言,用来对数据库中的数据进行增删改

DQL

Data Query Language

数据查询语言,用来查询数据库中表的记录

DCL

Data Control Language

数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL

DCL:创建用户,以及控制用户的权限,这个创建出来的用户能够操作哪些数据库里的哪些表,能够增删改查当中的哪些操作

DDL-数据库操作

1.查询

 查询所有数据库:一次查询当前数据库服务器中所有数据库

show databases ;

show与databases之间有空格,这里面的空格可以有一个,也可以有多个

 

(安装完mysql数据库中自带的数据库)

查询当前数据库:

select database() ;

 括号不能漏掉

2.创建

创建数据库

注意!我们可以去增加【if not exists】(如果数据库名称不存在,我则创建,如果存在,则不执行任何操作)

default charset】去指定当前数据库所使用的字符集,比如UTF8这样的字符集,当然这个也是可以省略的,因为数据库有默认的字符集

collate】去指定排序规则

所框选的部分都是可选的

案例:创建一个pythondog数据库, 使用数据库默认的字符集

create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ;

 

出现Query OK,说明当前数据库创建成功,创建成功后,我们可以再次输入指令,show databases;查看创建的数据库 pythondog

此时我再去执行一下 create database pythondog; 它会不会再创建数据库呢?不会,当我再去执行时会报错,返回这么一句话,不能再创建名为pythondog的数据库了,原因是数据库已经存在

由此得出:在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。

 假如不想让这个错误报出,我们的思路是如果数据库已经存在就不要创建,如果不存在就创建,这时我们可以加一个可选项 if not exists,此时不会报错

由此得出:可以通过if not exists 参数来解决这个问题,数据库不存在, 则创建该数据库,如果存在,则不创建。

再次执行查询,我们可以按键盘上的上下键,来查询我们之前用到的SQL语句,之后观察数据库,没有任何变化,如下图:

再次使用SQL语句去创建一个test数据库(运用可选项)此时能不能再创建?可以,因为这个数据库不存在

设置字符集案例:创建一个itczh数据库,并且指定字符集utf8mb4

在mysql中如果设置字符集不建议设置为utf8,因为utf8字符集它的存储的长度是3个字节,比如说一个汉字就3个字节,那在数据库中有些特殊字符是4个字节的,所以这个时候我们推荐使用utf8mb4,它是支持4个字节

此时这个数据库itczh,指定了默认字符集为utf8mb4

 3.删除

drop database [ if exists ] 数据库名 ;

假设此时数据库itczh已经不存在了,我们去进行一个删除 ,不去增加可选项,发现会报错,于是增加可选项去处理

        结论不再复述,此可选项与上诉创建数据库可选项的功能性类似,由此可以推出:如果删除一个不存在的数据库,将会报错。此时,可以加上参数 if exists ,如果数据库存在,再执行删除,否则不执行删除。

案例:删除数据库itczh

此时发现itczh数据库已经不存在了

4.使用:切换数据库

我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。

use 数据库名 ;

比如,切换到pythondog数据,执行如下SQL

use pythondog ;

 

此时代表,我已经切换到pythondog这个数据库了

查询自己在哪个数据库:那假设我已经执行了很多SQL语句了,我怎么知道我当前处在哪个数据库呢?

此时可以使用

select database ;

直接这么执行是错误的,记得在database后面加括号

select database() ;

 执行如下:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

p-宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值