MySQL中的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语句内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • mysql sql常用语句大全

    一 .常用操作数据库的命令 show databases; 查看所有的数据库 create database test; 创建一个叫test的数据库 drop database test;删除一个叫test的数据库 use test;选中库 ,在建表之前必须要选择数据库 show tables; 在选中的数据库之中查看所有的表 create table 表名 (字段1 类型, 字段2 类型); desc 表名;查看所在的表的字段 drop table 表名; 删除表 show create da

  • MySQL 语句执行顺序举例解析

    目录 1.SQL数据举例 my_user 表数据 my_order数据 测试数据生成 2.SQL的执行顺序 1.SQL数据举例 举例:有10个用户,输出在订单表中下单数最多的5个人的名字. my_user 表数据 my_order数据 my_order,uid对应my_user表的id: 测试数据生成 写一个存储过程,随机插入10000条数据: CREATE DEFINER=`root`@`localhost` PROCEDURE `test_loop`( ) BEGIN DECLARE i I

  • 最新MySQL高级SQL语句大全

    目录 引言 一.常用查询 1.order by按关键字排序 1.1 升序排序 1.2 降序排序 1.3 结合where进行条件过滤再排序 1.4 多字段排序 2.and/or判断 2.1 and/or 且与或的使用 2.2 嵌套.多条件使用 3.distinct 查询不重复记录 4.GROUP BY对结果进行分组 5.limit限制结果条目 6.设置别名(alias—as) 6.1 查询表的记录数量,以别名显示 6.2 利用as,将查询的数据导入到另外一个表内 7.通配符 引言 对MySQL数据

  • MySQL如何建表及导出建表语句

    目录 1.使用sqlyog登录mysql 2.选中数据库 备份/导出 3.选中导出类型 导出位置 导出结构.数据 4.导出建库.建表语句如下 5.在新库中执行 1.使用sqlyog登录mysql 2.选中数据库 备份/导出 3.选中导出类型 导出位置 导出结构.数据 4.导出建库.建表语句如下 5.在新库中执行 将语句转移到新库的查询对话框中执行 到此这篇关于MySQL如何建表及导出建表语句的文章就介绍到这了,更多相关MySQL建表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多

  • MySQL一些常用高级SQL语句详解

    目录 一.MySQL进阶查询 二.MySQL数据库函数 三.MySQL存储过程 总结 一.MySQL进阶查询 首先先创建两张表 mysql -u root -pXXX #登陆数据库,XXX为密码 create database jiangsu; #新建一个名为jiangsu的数据库 use jiangsu; #使用该数据库 create table location(Region char(20),Store_name char(20)); #创建location表,字段1为Region,数据类

  • MySQL中数据库优化的常见sql语句总结

    目录 1.SHOW ENGINES 2.SHOW PROCESSLIST 3.SHOW STATUS LIKE 'InnoDB_row_lock%' 4.SHOW ENGINE INNODB STATUS 5.SHOW INDEXS 6.ALTER TABLE xx ENGINE = INNODB 7.ANALYZE TABLE 1.SHOW ENGINES 查看执行引擎以及默认引擎. 2.SHOW PROCESSLIST SHOW PROCESSLIST查看当前数据库连接的使用情况,以及各种状

  • 了解MySQL查询语句执行过程(5大组件)

    目录 开篇 查询请求的执行流程 MySQL组件定义 连接器 查询缓存 分析器 优化器 逻辑变换 代价优化 执行器 总结 开篇 相信广大程序员朋友经常使用MySQL数据库作为书籍持久化的工具,我们最常使用的就是MySQL中的SQL语句,从客户端向MySQL发出一条条指令,然后获取返回的数据结果进行后面的逻辑处理.尽管大家经常使用SQL语句完成工作,你是否关注过其执行的阶段,利用了哪些技术完成?今天,就带大家一起看看MySQL数据库处理SQL请求的全过程.下面将会讲述如下内容: 查询请求在MySQL

  • MySQL数据表使用的SQL语句整理

    目录 EXPLAIN 语句 SHOW INDEX 语句 ANALYZE TABLE 语句 EXPLAIN 语句 分析SQL索引使用,关键词EXPLAIN: SQL举例: CREATE TABLE `my_user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL DEFAULT '' COMMENT '名字', `sex` enum('0','1') NOT NULL COMMENT '性别

  • MySQL中的SQL标准语句详解

    目录 前言 对数据库的操作 对表的操作 表的创建 表的插入 表的修改 表的删除 表的查询 条件查询 前言 例如MySQL中的LIMIT语句就是MySQL独有的方言,其它数据库都不支持!当然,Oracle或SQL Server都有自己的方言. 语法要求: SQL语句可以单行或多行书写,以分号结尾: 可以用空格和缩进来来增强语句的可读性: 关键字不区别大小写,建议使用大写: 对数据库的操作 #语法: CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHAR

  • Mysql中Join的使用实例详解

    在前几章节中,我们已经学会了如果在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据. 本章节我们将向大家介绍如何使用MySQL 的 JOIN 在两个或多个表中查询数据. 你可以在SELECT, UPDATE 和 DELETE 语句中使用Mysql 的 join 来联合多表查询. 以下我们将演示MySQL LEFT JOIN 和 JOIN 的使用的不同之处. 在命令提示符中使用JOIN 我们在RUNOOB数据库中有两张表 tcount_tbl 和 runoob_t

  • 在MySQL中自定义参数的使用详解

    MySQL变量包括系统变量和系统变量.这次的学习任务是用户自定义变量.用户变量主要包括局部变量和会话变量. 用户自定义变量的声明方法形如:@var_name,其中变量名称由字母.数字."."."_"和"$"组成.当然,在以字符串或者标识符引用时也可以包含其他字符(例如:@'my-var',@"my-var",或者@my-var). 用户自定义变量是会话级别的变量.其变量的作用域仅限于声明其的客户端链接.当这个客户端断开时,其所

  • mysql中find_in_set()函数的使用详解

    首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文等等 . 现在有篇文章他既是头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我们如何用sql查找所有type中有4的图文类型的文章呢?? 这就要我们的 find_in_set 出马的时候到了.以下为引用的内容: select * from article where FIND_IN_SET('4',type) --------------------------------

  • Mysql中的CHECK约束特性详解

    功能说明 在MySQL 8.0.16以前, CREATE TABLE允许从语法层面输入下列CHECK约束,但实际没有效果: CHECK (expr) 在 MySQL 8.0.16,CREATE TABLE添加了针对所有存储引擎的表和列的CHECK约束的核心特性.CREATE TABLE允许如下针对表或列的约束语法: [CONSTRAINT [symbol]] CHECK (expr) [[NOT] ENFORCED] 可选的symbol指定了约束的名称,如果省略,MySQL会自动生成一个类似:$

  • MySQL中in和exists区别详解

    一.提前准备 为了大家学习方便,我在这里面建立两张表并为其添加一些数据. 一张水果表,一张供应商表. 水果表 fruits表 f_id f_name f_price a1 apple 5 a2 appricot 2 b1 blackberry 10 b2 berry 8 c1 cocount 9 供应商表 suppliers表 s_id s_name 101 天虹 102 沃尔玛 103 家乐福 104 华润万家 我们将用这两张表做演示. 二.什么是exists exists关键字后面的参数是一

  • Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private void parseJsonMulti(String strResult) { try { Log.v("strResult11","strResult11="+strResult); int index=strResult.indexOf("[");

  • Android通过json向MySQL中读写数据的方法详解【写入篇】

    本文实例讲述了Android通过json向MySQL中写入数据的方法.分享给大家供大家参考,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Java类,将json上传数据的方法封装好,可以直接在主程序中调用该类,代码如下 public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String j

  • MySQL中ESCAPE关键字的用法详解

    MySQL转义 转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义. MySQL中,转义字符以"\"开头,编程中常见的转义字符,在MySQL均是有效的,在此不做赘述和讨论.在此,主要通过"%" 和 "_"来对ESCAPE关键字的作用进行说明. %:匹配任意多个字符. _:匹配单一字符. 如果我们要匹配"%"或者"_"时,就必须

  • MySQL 中 blob 和 text 数据类型详解

    目录 前言 1. blob 类型 2. text 类型 总结 前言 前面文章我们介绍过一些常用数据类型的用法,比如 int.char.varchar 等.一直没详细介绍过 blob 及 text 类型,虽然这两类数据类型不太常用,但在某些场景下还是会用到的.本篇文章将主要介绍 blob 及 text 数据类型的相关知识. 1. blob 类型 blob(binary large object) 是一个可以存储二进制文件的容器,主要用于存储二进制大对象,例如可以存储图片,音视频等文件.按照可存储容

随机推荐