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 表名 ↩︎

相关推荐
BreezeJuvenile5 分钟前
外设模块学习(17)——5V继电器模块(STM32)
stm32·单片机·嵌入式硬件·学习·5v继电器模块
一个数据大开发13 分钟前
【零基础一站式指南】Conda 学习环境准备与 Jupyter/PyCharm 完全配置
学习·jupyter·conda
l1t37 分钟前
利用DeepSeek优化SQLite求解数独SQL用于DuckDB
开发语言·数据库·sql·sqlite·duckdb
lcanfly40 分钟前
Mysql作业5
android·数据库·mysql
rit84324991 小时前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
海绵啵啵呀1 小时前
SQL plus中解决上下键找历史命令的工具--rlwrap命令行工具
数据库·sql
Elastic 中国社区官方博客1 小时前
使用 Mastra 和 Elasticsearch 构建具有语义回忆功能的知识 agent
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
老邓计算机毕设1 小时前
SSM危险品运输车辆信息管理系统b2z1o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架
MuYiLuck2 小时前
redis持久化与集群
java·数据库·redis
卓码软件测评2 小时前
软件数据库测试:【数据库质量保障:从单元测试到性能优化】
运维·数据库·测试用例·压力测试