MySQL基本框架及命令

本文是个人学习笔记,内容主要涉及SQL中对数据表的基本操作,学习文档来自w3school:http://www.w3school.com.cn/sql/index.asp

SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 对大小写不敏感!某些数据库系统要求在每条 SQL 命令的末端使用分号,有些则不必在每条 SQL 语句之后使用分号。分号是在数据库系统中分隔每条 SQL 语句的标准方法,加上它可以在对服务器的相同请求中执行一条以上的语句。

RDBMS 指的是关系型数据库管理系统。RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。RDBMS 中的数据存储在被称为表(tables)的数据库对象中。表是相关的数据项的集合,它由列和行组成。

把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。

SQL (结构化查询语言)是用于执行查询的语法,同时包含用于更新、插入和删除记录的语法。

SQL 的DML部分主要是针对数据表里的数据进行查询、更新、删除、插入等操作:
SELECT - 从数据库表中获取数据;UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据;INSERT INTO - 向数据库表中插入数据

SQL 的DDL部分主要是创建或删除数据库/表格,也可以定义索引(键),规定表间的链接、施加表间的约束:
CREATE DATABASE - 创建 新数据库ALTER DATABASE - 修改 数据库
CREATE TABLE - 创建 新表ALTER TABLE - 变更(改变)

DROP TABLE - 删除表;CREATE INDEX - 创建索引(搜索键);DROP INDEX - 删除索引

SELECT
SELECT 列名称 FROM 表名称
SELECT * FROM 表名称   # *号是选取所有列的快捷方式

e.g: SELECT huabei FROM af_huabei;  
     SELECT into_id,huabei FROM af_huabei;
     SELECT * FROM af_huabei;   
SELECT DISTINCT 列名称 FROM 表名称   #表中选定的列中包含重复值时,返回唯一不同的值

e.g: SELECT DISTINCT into_id FROM af_huabei;
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值   #WHERE用于有条件地从表中选取数据

e.g: SELECT huabei FROM af_huabei WHERE huabei=500;
     SELECT * FROM af_huabei WHERE huabei=500;   #数字无引号
     SELECT * FROM af_huabei WHERE into_id='ce5d583adce0477ea89d58936d8eb1b1';   #字符引号

这里写图片描述

ANDOR可在WHERE子语句中把两个或多个条件结合起来————AND运算符筛选条件是第一个条件和第二个条件都成立;OR运算符筛选条件是第一个条件和第二个条件至少一个成立;也可以把ANDOR结合起来(使用圆括号来组成复杂的表达式)

e.g: SELECT * FROM af_huabei WHERE huabei>500 AND huabei<1000;
     SELECT * FROM af_huabei WHERE huabei>1500 OR huabei<1000;
     SELECT * FROM af_huabei WHERE (huabei>1500 OR huabei<1000) AND into_id!='0b2e067deb4b494ab4f1601d1e214826';  
SELECT ORDER BY(DESC/ASC)
表名称 ORDER BY 列名称   #根据指定的列对结果集进行排序(默认升序)

e.g: SELECT into_id,huabei_quote,count_of_orders FROM af_taobao_info 
    WHERE huabei_quote=70 ORDER BY count_of_orders;   
表名称 ORDER BY 列名称1,列名称2

e.g: SELECT into_id,huabei_quote,count_of_orders FROM af_taobao_info 
    WHERE huabei_quote<80 AND huabei_quote>40  ORDER BY huabei_quote,count_of_orders;
表名称 ORDER BY 列名称 DESC   ##根据指定的列对结果集进行排序(DESC降序)

e.g: SELECT into_id,huabei_quote,count_of_orders FROM af_taobao_info 
    WHERE huabei_quote<80 AND huabei_quote>40  ORDER BY huabei_quote DESC;
表名称 ORDER BY 列名称1 DESC,列名称2 ASC

e.g: SELECT into_id,huabei_quote,count_of_orders FROM af_taobao_info 
    WHERE huabei_quote<80 AND huabei_quote>40  ORDER BY huabei_quote DESC,count_of_orders ASC;
INSERT INTO
INSERT INTO 表名称 VALUES (值1, 值2,....)

e.g: INSERT INTO af_huabei VALUES('37cb63ef3abb46b48554bfcb8114aa1a', '877');
INSERT INTO table_name(列1, 列2,...) VALUES(值1, 值2,....)   

INSERT IGNORE INTO table_name(column list) VALUES (VALUE list)
#使用INSERT INGORE语句,则会忽略导致错误的行,并将其余行插入到表中。
UPDATE
UPDATE 表名称 SET 列名称1=新值1,列名称2=新值2 WHERE 列名称=某值   #更新某一行中的若干列

e.g: UPDATE af_huabei SET huabei=-100 WHERE (into_id='37cb63ef3abb46b48554bfcb8114aa1a' AND huabei=-11);
     UPDATE af_huabei SET huabei=-222,into_id='37cb63ef3abb46b48554bfcb8114AAAA' WHERE (into_id='37cb63ef3abb46b48554bfcb8114aa1a' AND huabei=-100);

注意:

#MySQL运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令
show variables like 'sql_safe%';   #查看开关状态。
set sql_safe_updates=0;   #修改下数据库模式

这里写图片描述这里写图片描述

DELETE
DELETE FROM 表名称 WHERE 列名称=值   #删除表中的行

e.g: DELETE FROM af_huabei WHERE (into_id='37cb63ef3abb46b48554bfcb8114AAAA' AND huabei=-222);
DELETE * FROM table_name   #在不删除表的情况下删除所有的行
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值