MySQL中的SQL标准语句详解

 更新时间:2022年09月19日 09:30:40   作者:菜鸟小星啦  
SQL(Structured Query Language)是“结构化查询语言”,它是对关系型数据库的操作语言。虽然SQL可以用在所有关系型数据库中,但很多数据库还都有标准之后的一些语法,我们可以称之为方言

前言

例如MySQL中的LIMIT语句就是MySQL独有的方言,其它数据库都不支持!当然,Oracle或SQL Server都有自己的方言。

语法要求:

  • SQL语句可以单行或多行书写,以分号结尾;
  • 可以用空格和缩进来来增强语句的可读性;
  • 关键字不区别大小写,建议使用大写;

对数据库的操作

#语法:
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARACTER SET 字符集 COLLATE 排序规则字符集];
#创建数据库:
CREATE DATABASE [IF NOT EXISTS] mydb1;

如果不加 IF NOT EXISTS 的话,如果数据库存在的话,会报错。字符集一般使用UTF8mb4,排序规则一般使用utf8mb4_bin

对表的操作

对表的操作相对于对数据库操作更多且更加频繁

表的创建

语法:

CREATE TABLE 表名(

 列名 列类型,

 列名 列类型,

 ......

);

如果创建的表存在则会报错

例子

CREATE TABLE emp (
eid CHAR(6) COMMENT '编号',
ename VARCHAR (50) COMMENT '姓名',
age INT COMMENT '年龄',
gender VARCHAR (6) COMMENT '性别',
birthday DATE  COMMENT '出生日期',
hiredate DATE  COMMENT '入职日期',
salary DECIMAL (7, 2) COMMENT '薪水',
RESUME VARCHAR (1000)  COMMENT '简介'
)  COMMENT '员工表' ;

COMMENT代表解释说明,注意最后一列在定义的时候后面的逗号不要加。

如果不定义字符集编码与排序规则的话,默认是和数据库的字符集编码与排序规则一致。

表的其他操作

--查看当前数据库中所有表名称:
SHOW TABLES;
--查看指定表的创建语句:  查看emp表的创建语句;
--查看表结构:
DESC emp; --查看emp表结构;
--删除表:
DROP TABLE emp; --删除emp表;
--修改表:
--1. 修改之添加列:给stu表添加classname列:
ALTER TABLE stu ADD (classname varchar(100));
--2. 修改之修改列类型:修改stu表的gender列类型为CHAR(2):
ALTER TABLE stu MODIFY gender CHAR(2);
--3. 修改之修改列名:修改stu表的gender列名为sex:
ALTER TABLE stu change gender sex CHAR(2);
--4. 修改之删除列:删除stu表的classname列:
ALTER TABLE stu DROP classname;
--5. 修改之修改表名称:修改stu表名称为student:
ALTER TABLE stu RENAME TO student;

表的插入

语法

INSERT INTO 表名(列名1,列名2, …) VALUES(值1, 值2)
#例子
INSERT INTO stu VALUES('s_1002', 'liSi', 32, 'female');

同时也可以插入多条

INSERT INTO 表名(列名1,列名2, …) VALUES(值1, 值2....), VALUES(值1, 值2....).....

列名要与值一一对应,如果全部都插入可以省略表名,比如上面举的例子

表的修改

语法:

UPDATE 表名 SET 列名1=值1, … 列名n=值n [WHERE 条件]
#例子
UPDATE stu SET sname='zhangSanSan', age='32', gender='female' WHERE sid='s_1001';

如果不添加where条件的话,会导致全表修改,所以在使用的时候注意了。

表的删除

语法:

DELETE FROM 表名 [WHERE 条件]
#例子
DELETE FROM stu WHERE sid='s_1001';

如果不加 WHERE 条件的话,会全表的数据全部删除,所以要谨慎使用。

表的查询

#查询表的所有信息
SELECT * FROM stu;
#查询指定列
SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;

条件查询

条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用如下运算符及关键字:

  • =、!=、<>(不等于)、<、<=、>、>=
  • BETWEEN…AND
  • IN(set)
  • IS NULL
  • AND
  • OR
  • NOT

逻辑运算符:

逻辑运算符

AND 或 && 并且 (多个条件同时成立)

OR 或 || 或者 (多个条件任意一个成立)

NOT 或 ! 非 , 不是

#例子
SELECT * FROM stu WHERE gender = 'female' AND ge < 50 ;

到此这篇关于MySQL中的SQL标准语句详解的文章就介绍到这了,更多相关MySQL SQL语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql中的跨库关联查询方法

    mysql中的跨库关联查询方法

    这篇文章主要介绍了mysql中的跨库关联查询方法,需要的朋友可以参考下
    2017-05-05
  • 一文带你了解MySQL四大类日志

    一文带你了解MySQL四大类日志

    在MySQL中日志文件可以分为4种:二进制日志文件、错误日志文件、通用查询日志文件和慢查询日志文件,下面这篇文章主要给大家介绍了关于MySQL四大类日志的相关资料,需要的朋友可以参考下
    2023-04-04
  • MySQL用户权限设置保护数据库安全

    MySQL用户权限设置保护数据库安全

    MySQL用户权限设置是保护数据库安全的重要措施之一。通过为用户设置不同的权限,可以控制用户对数据库的访问能力,包括读取、修改、删除、创建等操作。合理设置用户权限可以避免误操作、非法访问等安全问题
    2023-05-05
  • MySQL系统库之performance_schema的实现

    MySQL系统库之performance_schema的实现

    performance_schema用于收集和存储关于数据库性能和资源利用情况的信息,本文主要介绍了MySQL系统库之performance_schema的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • 关于mysql自增id,你需要知道的

    关于mysql自增id,你需要知道的

    这篇文章主要介绍了关于mysql自增id的相关资料,帮助大家更好的理解和学习mysql,感兴趣的朋友可以了解下
    2020-08-08
  • MySQL使用IF语句及用case语句对条件并结果进行判断 

    MySQL使用IF语句及用case语句对条件并结果进行判断 

    这篇文章主要介绍了MySQL使用IF语句及用case语句对条件并结果进行判断,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • MYSQL 完全备份、主从复制、级联复制、半同步小结

    MYSQL 完全备份、主从复制、级联复制、半同步小结

    这篇文章主要介绍了MYSQL 完全备份、主从复制、级联复制、半同步小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 解决MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails

    解决MySQL遇到错误:1217 - Cannot delete or 

    这篇文章主要介绍了解决MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Linux系统中MySQL的常用操作命令

    Linux系统中MySQL的常用操作命令

    本文给大家汇总介绍了下载Linux系统中操作mysql的一些常用的命令,非常实用,有需要的小伙伴可以参考下
    2018-02-02
  • Mysql存储引擎特性总结

    Mysql存储引擎特性总结

    这篇文章主要介绍了Mysql存储引擎特性总结,同时总结了最常用的2种存储引擎的特性,以及各引擎的适用环境,需要的朋友可以参考下
    2014-07-07

最新评论