SQL是Structure Query Language(结构化查询语言)的缩写。

  SQL主要可以分为三个类别:

  1.DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的关键字有: create 、drop、alter等。

  2.DML(Data Manipulation Language)语句:数据库操纵语言,用于添加,删除,更新和查询数据库,检查数据完整性。常用的语句关键字:insert 、delete 、 update和select等。

  3.DCL(Data Control Language)语句:数据库控制语言,用于控制不同的数据段直接的许可和访问级别的语句。这些语句定义了数据库,表,字段,用户的访问权限和安全级别。主要的关键字包括:grant、revoke等。

  

  DDL语句:

  DDL是数据库定义语言的缩写,是对数据库内部的对象进行创建、删除、修改等操作的语言。

  1).创建数据库:CREATE DATABASE dbname;

  2).查看数据库:SHOW DATABASES;

  3).选择要操作的数据:USE dbname;

  4).查看所有数据表:SHOW TABLES;

  5).删除数据库:DROP DATABAES dbname;

  6).创建表:CREATE TABLE tablename;

  7).查看表的定义:DESC tablename / SHOW CREATE TABLE tablename;

  8).删除表:DROP TABLE tablename;

  9).修改表类型: MODIFY,增加表字段:ADD,删除表字段:DROP,字段改名:CHANGE

    注意:change 和 modify 都可以修改表的定义,不同的是 change 后面需要写两次列名,不方便,但是 change 的优点是可以修改列名称,modify 则不能。

  DML语句:

  DML是指对数据库中表记录的操作,主要包括了插入,更新,删除,查询等开发人员日常使用最频繁的操作。

  1.插入记录:INSERT INTO tablename (字段1,字段2,....) VALUES(value1,value2,...);

  2.更新记录:UPDATE tablename SET 字段1=value1,字段2=value2,.... [WHERE CONDITION];

   更新多表:UPDATE t1,t2... SET t1.字段1=expr1,t2.字段1=expr1.... [WHERE CONDITION];

   注意:多表更新的语法更多地用来根据一个表的字段来动态的更新另一个表的字段。

  3.删除记录:DELETE FROM tablename [WHERE CONDITION];

     删除多表:DELETE t1,t2,...  FROM t1,t2,...  [WHERE CONDITION];

     注意:不管是单表还是多表删除,不加 where 条件都会把表的所有记录删除,操作时一定要小心。

  4.查询记录:SELETE * FROM tablename  [WHERE CONDITION];

    查询时常用的关键字:DISTINCT(去重),ORDER BY(排序,DESC/ASC ),LIMIT(显示的行数--解释不太规范),GROUP BY(分类),HAVING(对分类后的结果进行筛选),

   WITH ROLLUP(对分类聚合后的结果进行再汇总),聚合函数(sum<求和>,max<最大值>,min<最小值>,count<记录数>)

   WHERE后面的条件是一个字段用=比较,除了=以外,还可以使用 >,<,<=,>=,!=等比较运算符;多个条件直接还可以使用or 、and等逻辑运算符进行多条件查询。

  5.表连接:表连接分为外链接和内连接,他们的主要区别是,内连接仅选出两张表内互相匹配的记录,而外连接会选出其他不匹配的记录,我们常用的是内连接。

     外连接又分为左连接和右连接,右连接和左连接之间类似,可以互相转化。

  6.子查询:某些情况下,当进行查询的时候,需要的条件是一个select的结果,这个时候就会用到子查询,子查询会用到的关键字有:in、not in 、=、!=、exists、not exists等。

   如果子查询记录数唯一,可以用=代替in;

   注意:子查询和表连接之间的转换主要应用于两个方向:

      表连接在很多情况下用于优化子查询,

      MySql4.1以前的版本不支持子查询,需要用表连接来实现子查询的功能。

  7.记录联合:将两个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示出来。关键字:UNION 和 UNION ALL ,UNION ALL是把结果集合并到一起,而UNION则是进行了一次DISTINCT,去除重复记录。

  DCL语句是DBA用来管理系统中的对象权限时使用,一般开发人员很少使用,常用的关键字有:grant , revoke等;

  总结:MySQL在变种的sql基础上进行了很多扩展,本文章只是对一些简单的常用语法进行了汇总,有未曾写到的东西还请查询官方文档。

  

MySql使用入门的更多相关文章

  1. [转]MySQL主从复制入门

    1.MySQL主从复制入门 首先,我们看一个图: 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中. 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的33 ...

  2. 【转载】20分钟MySQL基础入门

    原文:20分钟MySQL基础入门 这里持续更新修正 开始使用 MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格 ...

  3. [置顶] Mysql存储过程入门知识

    Mysql存储过程入门知识 #1,查看数据库所有的存储过程名 #--这个语句被用来移除一个存储程序.不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程 #SELECT NAME FROM ...

  4. MySQL 菜鸟入门“秘籍”

    一.MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不 ...

  5. MySql基础笔记(一)Mysql快速入门

    Mysql快速入门 一)基本概念 1)表 行被称为记录,是组织数据的单位.列被称为字段,每一列表示记录的一个属性. 2)主键 主键用于唯一的标识表中的每一条记录.可以定义表中的一列或者多列为主键, 但 ...

  6. MySQL存储过程入门

    MySQL存储过程入门 在本教程中,我们将逐步介绍如何使用CREATE PROCEDURE语句开发第一个MySQL存储过程. 另外,我们将向您展示如何从SQL语句调用存储过程. 编写第一个MySQL存 ...

  7. Spring MVC+Spring+Mybatis+MySQL(IDEA)入门框架搭建

    目录 Spring MVC+Spring+Mybatis+MySQL(IDEA)入门框架搭建 0.项目准备 1.数据持久层Mybatis+MySQL 1.1 MySQL数据准备 1.2 Mybatis ...

  8. MySQL的入门与使用,sqlyog对数据库,表和数据的管理

    MySQL的入门 1.到mysql官网下载. 2.安装mysql软件(一定要放到英文路径下) 3.使用 验证是否成功 将mySQL的bin路径添加到系统环境变量Path中 打开dos命令窗口 Wind ...

  9. MySQL主从复制入门

    1.MySQL主从复制入门 首先,我们看一个图: MySQL 主从复制与读写分离概念及架构分析 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中. 假设,实时的将变化了的日志 ...

  10. MySQL 快速入门教程

    转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...

随机推荐

  1. 分支结构case……end

    语法: case when 条件1 then 结果1 when 条件2 then 结果2 ……….. else 其它结果 end 执行顺序: 条件1成立执行结果1 条件2成立执行结果2 如果所有的wh ...

  2. OAuth2.0 入门与进阶

     一.基础知识 1.OAuth产生背景 很多网站.APP 弱化甚至没有搭建自己的账号体系,而是直接使用社会化登录的方式,这样不仅免去了用户注册账号的麻烦.还可以获取用户的好友关系来增强自身的社交功能. ...

  3. 转:什么是4D(DRG、DLG、DOM、DEM)数据?

    ps:摘抄地址http://blog.163.com/wangqing_rs/blog/static/16451519120111026102916472/  什么是4D(DRG.DLG.DOM.DE ...

  4. SQL Server ->> 生成时间类型的Partition Function和Partition Scheme代码

    有时工作中要建个分区函数,可是像日期这种分区函数要是搞个几百个的值那不是要搞死我.于是写了点代码自动生成一个从1990年开始的按月的分区函数和对应的分区主题 USE [TestDB] GO DECLA ...

  5. SQL Server 的 主键 解决方案 NEWID() , 自增ID

    在 SQL Server 表的主键有自增Id ,和  GUID. 1.  自增Id 优点:索引空间小,索引连续.在大量数据插入的时候性能有特别大的优势. 缺点:可移植性差,在数据迁移的时候. 2. G ...

  6. phpunit 单元测试之代码覆盖率

    最近团队在不断完善项目中的单元测试用例,会用到代码覆盖率分析,本来以为 homestead 应该默认安装了 xdebug ,所以使用 phpunit --coverage-html ./tests/c ...

  7. nodejs理解

    一.nodejs介绍 nodejs主要体现在事件机制和异步IO,nodejs是事件驱动的: nodejs作用:js的运行环境.操作文件.链接数据库: nodejs在执行js是单线程的,但不是nodej ...

  8. 我的HTML总结之HTML发展史

    HTML是Web统一语言,这些容纳在尖括号里的简单标签,构成了如今的Web. 1991年,Tim Berners-Lee编写了一份叫做“HTML标签”的文档,里面包含了大约20个用来标记网页的HTML ...

  9. python入门14 字典dict

    字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字 ...

  10. LA 4987 背包

    题意: 有n个施工队,给定他们的位置,有m个防空洞,给定位置,求将施工队放到m个防空洞里面,最少的总距离? n<=4000 分析: dp[i][j] 前 i 个施工队,放到前 j 个防空洞里面的 ...