SQL语句基础理论

  SQL是操作和检索关系型数据库的标准语言,标准SQL语句可用于操作关系型数据库。

5大主要类型:

  ①DQL(Data Query Language,数据查询语言)语句主要由于select关键字完成,查询语句是SQL语句中最复杂,功能最丰富的语句。

  ②DML(Data Munipulation Language,数据操作语言)语句,DML语句修改后数据将保持较好的一致性;操作表的语句,如增插insert、更新update、删除delete等;

  ③DDL(Data Definition Language,数据定义语言)语句,操作数据对象的语言,包括创建create、删除drop、修改alter数据库对象。

  ④DCL(Data Control Language,数据控制语言)语句,主要有grant、revoke语句。

  ⑤事务控制语句主要有commit、rollback和savepoint三个关键字完成

注意:

   SQL 对大小写不敏感:SELECT 与 select 是相同的;

  MySQL 的SQL语句以分号 (;) 作为结束标识。

DBA所有的操作必须来自于官方文档

DBA所有的操作必须来自于官方文档

DBA所有的操作必须来自于官方文档

(重要的事情说三遍嘛!!)

一、官方文档的简单介绍:

  1、Tutorial:将MySQL常用的一些操作使用一个场景串联起来

    只是关注里面的灰色部分就可以,按照里面的灰色操作部分顺一遍

  ---详细的跟着官方文档的tutorial模块操作一遍对于初学者还是很有必要的

  2、server Administrator:MySQL管理需要的一些命令、工具、参数等

  3、SQL Syntax

  SQL语法,使用最多,特别是DDL语句一定要使用SQL语法进行参考(增删改查)

  4、Server Option / Variable Reference:MySQL的参数和状态值,使用较多

  5、Functions and Operators

  MySQL常用函数和操作符,使用较多

  6、Views and Stored Programs

  视图、存储过程、函数、触发器、event语法参考

  7、Optimization:优化

  非常值得细致的看一遍,此篇文档不仅仅用来参考,更多的是用来学习优化知识,算是DBA进阶宝典

  8、Partitioning

  如果是要进行表分区,此文档是必须参考的资料,也是唯一参考的资料

  9、Information Schema、Performance Schema

  中级DBA常用的两个参考资料

  10、Spatial Extensions

  地理位置信息(附近的人、附近的餐馆……)

  11、Replication

  MySQL使用复制功能,常用的参考资料

  12、Semisynchronous Replication

  半同步复制,个别场合会用到

二、官方文档使用技巧

  1、{}大括号括起来并且中间有个|管道符的代表 n 选一,必须输入

  2、[]中括号里括起来的表示可有可无

  3、小写字母代表变量,将来可以替换

  4、大写字母代表关键字,必须输入

  5、一般有 sepcification 后缀的表示这是一个规范,后边还会有详细的介绍

  6、 |管道符连接的信息没有用{}大括号括起来代表可以有其中一个也可以同时都有

三、MySQL数据库常用命令:help contents帮助

1、显示所有数据库

  show databases:列出MySQL数据库管理系统的数据库列表

2、创建数据库

  create database [if not exists] dbName:创建名字为dbName指定的数据库

3、删除数据库

  drop database dbName:删除dbName指定的数据库

4、统计数据库信息

  show table status [{from|in} db_name] [like 'pattern'|where expr] \G:将输出Mysql数据库管理系统的性能及统计信息

示例:

  show table status from RUNOOB;    #显示数据库 RUNOOB 中所有表的信息

  show table status from RUNOOB like 'runoob%';    #表名以runoob开头的表的信息

  show table status from RUNOOB like 'runoob%'\G;    #加上\G,查询结果按列打印

5、使用数据库

  use dbName:切换、使用指定数据库

6、显示表

  show tables:显示指定数据库的所有表

7、显示表结构

  desc tableName:显示表结构describe(desc)

  show columns from tableName:显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息---类似于desc tableName

8、显示表索引

  show index from 数据表:显示数据表的详细索引信息,包括PRIMARY KEY(主键)

9、创建表

  create table tableName(列声明) :创建一张表

示例:创建 students 表,存放 学号(id)、姓名(name)、性别(sex)、年龄(age)、联系电话(tel)

  create table students ( id int unsigned not null auto_increment primary key, name char(8) not null, sex char(4) not null, age tinyint unsigned not null, tel char(13) null default "-" );

10、显示表内容(数据)

  select * from tableName:显示数据表的具体内容

  select 列名称 from tableName [where 条件]:按条件查询表中的数据

11、修改表中内容(数据)---增、改、删

增:insert

  insert [into] tableName [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...) :向表中插入数据

示例:

  insert into classmate values("xiaoming","male",18,"china","tennis");

改:update

  update tableName set 列名称=新值 where 更新条件:更新表中的数据

示例:

  update classmate set address="chongyi" where id=3

删:delete

  delete from tableName where 删除条件:删除表中的数据

批量删:drop、truncate

  drop table tableName:删除表(包括表的结构和全部数据)

  truncate tableName:删除表(删除表里的全部数据,保留表结构)

12、创建后表的修改alter table

添加列

  alter table 表名 add 列名 列数据类型 [after 插入位置];

示例:

  alter table students add address char(60):在表的最后追加列 address

  alter table students add birthday date after age:在age 的列后插入列birthday

修改列

  alter table 表名 change 列名称 列新名称 新数据类型;

示例:

  alter table students change tel telphone char(13) default "-":将表中的tel列改名为telphone

  alter table students change name name char(16) not null:将 name 列的数据类型改为 char(16)

删除列

  alter table 表名 drop 列名称;

示例:

  alter table students drop birthday:删除 birthday 列

重命名表

  alter table 表名 rename 新表名;

示例:

  alter table students rename workmates:重命名 students 表为 workmates

13、关于事务操作

  1. BEGIN 或 START TRANSACTION:显式地开启一个事务;

  2. COMMIT 或 COMMIT WORK:COMMIT会提交事务,并使已对数据库进行的所有修改成为永久性的;

  3. ROLLBACK 或 ROLLBACK WORK:回滚会结束用户的事务,并撤销正在进行的所有未提交的修改;

  4. SAVEPOINT identifier:SAVEPOINT允许在事务中创建一个保存点,一个事务中可以有多个SAVEPOINT;

  5. RELEASE SAVEPOINT identifier:release(释放),删除一个事务的保存点,当没有指定的保存点时,执行该语句会抛出一个异常;

  6. ROLLBACK TO identifier:把事务回滚到标记点;

  7. SET TRANSACTION;用来设置事务的隔离级别。

入门常用SQL及官方文档的使用的更多相关文章

  1. Apache Flume入门指南[翻译自官方文档]

    声明: 根据官方文档选择性的翻译了下,不对请指正 https://flume.apache.org/FlumeUserGuide.html

  2. Qt元类型(MetaType)注册入门(附一些官方文档的关键摘录)

    昨天调试项目时,突然发现如下消息: QObject::connect: Cannot queue arguments of type 'ERROR_LEVEL' (Make sure 'ERROR_L ...

  3. Elasticsearch基础入门,详情可见官方文档

    索引文档: 对于员工目录,我们将做如下操作: 每个员工索引一个文档,文档包含该员工的所有信息. 每个文档都将是 employee 类型 . 该类型位于 索引 megacorp 内. 该索引保存在我们的 ...

  4. Python第三方库jieba(中文分词)入门与进阶(官方文档)

    jieba "结巴"中文分词:做最好的 Python 中文分词组件 github:https://github.com/fxsjy/jieba 特点 支持三种分词模式: 精确模式, ...

  5. 常用SQL_官方文档使用

    SQL语句基础理论 SQL是操作和检索关系型数据库的标准语言,标准SQL语句可用于操作关系型数据库. 5大主要类型: ①DQL(Data Query Language,数据查询语言)语句,主要由于se ...

  6. mybatis 动态 SQL 官方文档

    MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦.例如拼接时要确保不能忘记添加必要的空格,还要注意去掉 ...

  7. 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍

    我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...

  8. 一起学微软Power BI系列-官方文档-入门指南(2)获取源数据

    我们在文章: 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍中,我们介绍了官方入门文档的第一章.今天继续给大家介绍官方文档中,如何获取数据源的相关内容.虽然是英文,但 ...

  9. 一起学微软Power BI系列-官方文档-入门指南(3)Power BI建模

    我们前2篇文章:一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍 和一起学微软Power BI系列-官方文档-入门指南(2)获取源数据 中,我们介绍了官方入门文档与获取 ...

随机推荐

  1. JDBC事务提交/回滚实例

    以下是使用事务教程中描述的提交和回滚的代码示例. 此示例代码是基于前面章节中完成的环境和数据库设置编写的. 复制并将以下示例代码保存到:CommitAndRollback.java 中,编译并运行如下 ...

  2. Maven使用国内镜像

    ^_^ <mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given re ...

  3. JavaBean递归拷贝工具类Dozer

    JavaBean深度拷贝利器——Dozer DozerBeanMapper对象之间相同属性名赋值 DozerBeanMapper + 对象转Map方法 Dozer(JavaBean的映射工具)开发手册

  4. win10 UWP Markdown 含源码

    Windows下没有比較好的Markdown编辑器 我就自己写一个 csdn的Markdown非常好,就是我须要截图保存有麻烦 须要把我的截图保存在本地,然后上传 这个过程比較麻烦 csdn的图没法外 ...

  5. Windows2008安装WebSphere 6.1提示此安装程序不能在图形方式中运行

    推荐的解决方式:http://blog.sina.com.cn/s/blog_4b010fb50100n1mk.html 在一般情况下,安装Websphere是直接运行launchpad.exe,然后 ...

  6. c# 连接mysql配置config,不用装net connector

    <system.data> <DbProviderFactories> <remove invariant="MySql.Data.MySqlClient&qu ...

  7. Vue 404页面处理

    问题原因: 刷新页面时访问的资源在服务端找不到,因为vue-router设置的路径不是真实存在的路径 解决方案: 第一步:后端配置 Apache <IfModule mod_rewrite.c& ...

  8. Docker镜像相关

    一.中间镜像 通过持续集成工具Jenkins构建Docker镜像并运行容器,采用的是Docker Compose来进行编排构建运行的.但是每次构建完毕以后通过docker images命令查询,可以发 ...

  9. PCL(Point Cloud Library)的第三方库简单介绍(boost,eigen,flann,vtk,qhull)

    PCL由于融合了大量的第三方开源库,导致学习成本升高~在学习之前我们最好还是了解一下这些库都是干嘛的,以便有的放矢.在之后更好的使用 boost: C++的标准库的备用版,擅长从数学库到智能指针,从模 ...

  10. 关于Struts2的文件上传

    要实现Struts2框架的文件上传,需要用到2个jar包 commons-fileupload-1.2.2.jar commons-io-2.0.1.jar 由于文件解析Struts2内部已经帮我们做 ...