MySQL语法总结

本篇博客说明:
!!!.注意此系列都用的是MySQL语句,和SQLServer,PostgreSQL有些细节上的差别!!!
1.每个操作都是先展示出语法格式
2.然后是具体例子
3.本篇注脚与文本顺讯息息相关或许会解答你的一些疑问
4.本文例子使用也是连续的,如果前面建立库没有删除就一直在,删除则之后也没有这个库
(!!!放心食用!!!)

MySQL语法

一·库的操作[1](#一·库的操作1)

1.创建库[2](#1.创建库2)

CREATE[3](#CREATE3)

语法格式:

create databases 数据库名字;

create database if not exists 数据库名字;

create database if not exists 数据库名字 character set utf8mb4 collate utf8mb4_0900_ai_ci;

mysql 复制代码
create databases test01;
mysql 复制代码
create database if not exists test01;
-- 这条语句与第一条语句很相似,但是这句更为保险
-- 两者区别在于这条语句会有警告不会报错,但是语句一再次创立同样的库时会报错,如下图
mysql 复制代码
create database if not exists test02 character set utf8mb4 collate utf8mb4_0900_ai_ci;
-- 这句的意思为创建一个字符编码集为utf8mb4
-- 而utf8mb4_0900_ai_ci则为MySQL8.0默认的排序规则


2.修改库

ALTER

alter database 数据库名字 character set 字符集编码;

alter database 数据库名字 collate 排序规则;

mysql 复制代码
alter database test01 character set gbk;

3.删除库

DROP

drop database 数据库名字;

drop database if exists 数据库名字;

mysql 复制代码
drop database test01;
mysql 复制代码
drop database if exists test02;
mysql 复制代码
-- 根据重复删除来对比有无 if exists 的使用区别
drop database test01;
drop database if exists test01;

这里通过上图我们就发现如果加上"if exists"那么删除一个已经删除过的库就不会报错,而是会有一个警告,这个时候我们查看这个警告,我们就发现这个警告

二·表的操作

1.表的创建[4](#1.表的创建4)

CREATE

create table 创建表的名字(表格包含的内容);

create table if not exists 创建表的名字(表格包含的内容) 引擎 字符集 排序规则;

这里的引擎,字符集,排序规则可以选择不写

mysql 复制代码
-- 创建一个学生的表,包含学生的id,姓名,年龄,生日日期
create table student (
    id bigint,
    name varchar(20) comment '学生的姓名',
    age int,
    birthday date
);
-- 这里关于学生姓名我加了comment,其实相当于备注,可以不写

2.表的修改

ALTER

//增加一列

alter table 表的名字 add 要添加的列名 要添加的列的数据类型 after 在哪个列之后的列名;

//修改此列的长度

alter table 表的名字 modify 列名 修改后的长度;

//重命名列名

alter table 表名 rename column to;

//删除列

alter table 表名 drop 删除的列名;

//重命名表名

alter table 表名 rename to 新的表名;

mysql 复制代码
alter table student add phone varchar(20) after borthday;
mysql 复制代码
alter table student modify phone varchar(15);
mysql 复制代码
alter table student rename column phone to phonenumber;
mysql 复制代码
alter table student drop birthday;
mysql 复制代码
 alter table student rename to students;

3.表的删除

DROP

drop table 表名;

mysql 复制代码
drop table students;

三·表中关于数据的操作

1.数据插入

INSERT

insert into 表名 (列1, 列2, 列3, ...)

values (值1, 值2, 值3, ...);

mysql 复制代码
insert into student (id,name, age) values (1,'张三', 20);

2.数据查询

SELECT

select 列1, 列2, ...from 表名 where 条件;

select* from 表名; -- 查询全部表的内容

mysql 复制代码
select*from student;
select name, age from student;

3.数据修改

UPDATA

update 表名 set 列1 = 值1, 列2 = 值2, ... where 条件;

mysql 复制代码
update student set age = 21 where id = 1;

4. 数据删除

DELETE

delete from 表名 where 条件;

mysql 复制代码
delete from student where id = 1;

今天内容就到这里啦,对表中数据的操作还有很多,之后咱们再说,加油!


  1. 展示数据库的语法为 show databases ↩︎

  2. 开始之前大家记得要先登录数据库,也就是先在你的桌面按键windows+R,输入cmd,回车就进入了命令行,然后输入 mysql -uroot -p 不要加分号,然后回车输入登录密码,登陆成功后自己创建一个库,然后写 use 库的名字,就能到库里创建表了,之后再继续文章内容 ↩︎

  3. -- 为mysql的注释语句,即两个横杠加一个空格 ↩︎

  4. 展示表的语法为 show tables,观看表结构的语法为 desc 表名 ↩︎

相关推荐
RestCloud2 小时前
MySQL分库分表迁移:ETL平台如何实现数据合并与聚合
mysql·api
老纪的技术唠嗑局3 小时前
经验分享 —— 在 Ubuntu 虚拟机中部署 OceanBase 数据库
数据库·ubuntu
咖啡Beans4 小时前
MySQL中使用@符号定义用户变量
数据库·mysql
知其然亦知其所以然5 小时前
MySQL 社招必考题:如何优化特定类型的查询语句?
后端·mysql·面试
GreatSQL7 小时前
MySQL迁移至GreatSQL后,timestamp字段插入报错解析
数据库
粘豆煮包8 小时前
掀起你的盖头来之《数据库揭秘》-3-SQL 核心技能速成笔记-查询、过滤、排序、分组等
后端·mysql
expect7g8 小时前
COW、MOR、MOW
大数据·数据库·后端
DemonAvenger10 小时前
MySQL海量数据快速导入导出技巧:从实战到优化
数据库·mysql·性能优化
程序新视界1 天前
MySQL中什么是回表查询,如何避免和优化?
mysql
薛定谔的算法1 天前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端