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. 实用的随机数生成类Random:测试(随机产生100个不重复的正整数)

    实用的随机数生成类Random:测试(使用Random类随机生成100个不重复的正整数) 一.之前我们使用随机数用的是Math类的random()方法: tips: 产生随机数(0~9中任意整数)的方 ...

  2. PAT 1025 PAT Ranking

    #include <cstdio> #include <cstdlib> #include <vector> #include <cstring> #i ...

  3. oracle学习篇四:多表查询

    -----------------产生笛卡儿积------------------------------------ select * from emp,dept; --不带条件时,记录数为14*4 ...

  4. sass文件处理

    sass注释方式有两种: 1.标准的css注释/**/: 2.//双斜杠形式的单行注释(不会被转译): 标准的css注释 双斜杆单行注释 sass文件后缀名有两种: 1.后缀名为sass,不适用用大括 ...

  5. css样式学习小知识

    1. 使用百分比设置宽高 自适用宽高的,有分割的区域,可以适用百分比:30% 70% 如果有一部分是固定的宽度或者高度,可以使用:height: calc( 100% - 36px ); 2. inp ...

  6. IT人的格言警句

    程序员困境:我们通过编码谋生,但环境却正在摧毁我们这种谋生的能力. 在技术日新月异的IT行业,“专家”这个词其实是个危险信号,意味着你的知识距离老化不远了.IT工程师应该经常更换工作领域,了解多个领域 ...

  7. Windows 消息框架: SDK教程

    关键字:WindowsSDK 消息机制 http://www.codeproject.com/Articles/599/Windows-Message-Handling-Part-3 Handling ...

  8. 好记性不如烂笔头-nginx安装环境与Linux安装ftp组件

    Nginx安装环境 1. Nginx安装环境 Nginx是C语言开发,建议在linux上运行,我参加工作这些年来一直使用Linux发行版之一的 Centos作为安装环境. 1.1 gcc 安装Ngin ...

  9. zookeeper的JavaAPI

    org.apache.zookeeper.Zookeeper Zookeeper 是在 Java 中客户端主类,负责建立与 zookeeper 集群的会话,并提供方法进行操作. org.apache. ...

  10. 简单记录一下http请求的7个步骤

    1.建立TCP连接 2.客户端发送请求命令 3.客户端发送请求头信息 4.服务端应答请求,返回版本号和状态码 5.服务端应答头信息 6.服务端向客户端发送数据 7.服务器关闭TCP连接(Connect ...