一、规则和标准

1)每一行SQL语句结尾,加分号;

2)所创建的对象,名字用反引号(不是引号,与~同一个键);

3)一般关键字或保留字要大写;

4)两个中划线 + 空格(-- ),后面的语句为注释语句,不会被执行;

二、创建数据库

 1)创建数据库

  CREATE DATABASE `mydatabase`;

   #创建数据库mydatabase

   #创建时要选定数据库的编码方式:utf-8

 2)查看本地已有的所有数据库

  SHOW DATABASES;

 3)创建表

格式:CREATE TABLE + `表名` + (表的属性) + DEFAULT CHARSET `编码方式(一般为utf8)`;

USE `mydatabase`;

 #创建表前,要先表明使用的数据库,也就是要指出在哪个数据库内建表;

 #此处指,在当前打开的数据库内建表;

CREATE TABLE `students`(

  `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

  `name` VARCHR(20) NOT NULL,

  `nickname` VARCHAR(20) NULL,

  `sex` CHAR(1) NULL,

  `in_time` DATETIME NULL

) DEFAULT CHARSET 'UTF8';

  A、CREATE TABLE:关键字

  B、`students`:表名字

  C、`id`、`name`、`nickname`、`sex`、`in_time`:表格属性,表示每个表格必须要的列,每列头部为:`id`、`name`、`nickname`、`sex`、`in_time`;

  D、INT、VARCHAR(200):字段类型;其中200,表示字符最长站位200,若小于200,以实际存储大小为准;

  E、NOT NULL:不为空,表示此属性必须要有内容,不能是null;

  F、AUTO_INCREMENT:表示学生id自动增长(可以理解为每行的许号),若第一个学生的id为1,则第二个自动为2;

  G、PRIMARY KEY:为表格的关键字,每个表格都有一个唯一的关键字,通过key查询到某一数据库的某一特定表格;可以单独定义key的指向:PRIMARY KEY(`id`)

  H、DEFAULL CHARSET 'UTF8':表格的编码格式为 'UTF8';

  #使用DEFAULT来设定默认值,这样默认值不是NULL;

 4)常见字段类型

  A、int:整数,小数不算;

  B、char:字符,a、b、c等;是固定的存储长度的数据类型,也就是,给定长度后(如:CHAR(200)),一定会占有给定长度的内存,即使只有一个字符;

  C、varchar:字符,a、b、c等,是非固定的存储长度的数据类型,也就是,按实际存储长度为准,不按给定长度(如:VARCHAR(200));

  D、date:日期,如:2018-4-20;

  E、datetime:日期 + 时间,如:2018-4-20 08:52;

  F、TEXT:一般存储较大的内容;

 5)插入数据

  A、添加一行:INSERT INTO + 表格名字 + (表格属性) + VALUE + (表格一行的内容);

   例:INSERT INTO `students` VALUE(1, 'Volcano1', '灿哥1', '男', now());

   #now():SQL的函数,表示当前时间;

   #添加一行数据,可以不写出表格的首行: (`id`, `name`, `nickname`, `sex`, `in_time`) ,默认出入的数据与首行头部一一对应;

  B、添加几行:INSERT INTO + 表格名字 + 表格属性 + VALUES + (第一行内天), (第二行内容), (第三行内容);

   例1:INSERT INTO `students_1` (`id`, `name`, `nickname`, `sex`, `in_time`) VALUES

      (2, 'Volcano2', '灿哥2', '男', now()),

     (3, 'Volcano3', '灿哥3', '男', now()),

     (4, 'Volcano4', '灿哥4', '男', now());

   例2:INSERT INTO `students` (`name`, `in_time`) VALUES

     ( 'Volcano5', now()),

     ( 'Volcano6', now()),

     ( 'Volcano7', now());

   #此处属性中没添加`id`,因为,id定义的为AUTO_INCREMENT(自动增长),也就是只要添加了第一行后,后面的不需要再添加;

   #也没有加`nickname`、`sex`,因为这两列的数据可以为NULL,也就是说,可以不赋值;

 

 6)查询数据

  A、格式

   SELECT + 检索的内容

    FROM + 检索的对象(如从表中进行检索)

    [WHERE + 查询条件]

    [GROUP BY {col_name | expr | position}]

    [HAVING where_definition]

    [ORDER BY {col_name | expr | position}

     [ASC | DESC], ...]

    [LIMIT {[offset, ] row_count}]

    #ORDER BY:选择查询结果的排序方式;其中{col_name | expr | position},指排序的依据;其中[ASC | DESC], ...],指排序方式:ASC为正向排序、DESC表示反向排序;

    #LIMIT:选择性显示查询结果,如:LIMIT m, n,从第m+1行开始,显示n行;

  BSELECT *:查询对象的全部;

    USE `school`;
    SELECT * FROM `students_1`;

     #此处查询整个表的内容;

  CSELECT + 对象的属性:查询对象的个别内容;

    USE `school`;

    SELECT `name`, `nickname` FROM `students_1`;

    #查询表student_1的其中两列(`name`、`nickname`)的内容;

  DSELECT + 对象属性 + FROM + 查询对象 + WHERE + 限定条件

    USE `school`;

    SELECT `id`, `name`, `nickname` FROM `students_1` WHERE `sex` = '男';

    #查询男人的性别和昵称;

  E、限定输出结果的排序方式:ORDER BY + 排序依据 + 排序方式(ASC表示正向排序、DESC表示反向排序)

    USE `school`;
    SELECT `id`, `name`, `nickname` FROM `students_1` WHERE `sex` = '男' ORDER BY `id` DESC;

 7)修改数据

  A、格式

   UPDATE + 修改对象 +SET +修改的内容 + WHERE + 修改的条件

    #如果没有WHERE限制修改条件,默认对整个数据库进行修改;

  例1:UPDATE `students_1` SET `sex` = '女' WHERE `id` = '男';

  例2:UPDATE `students_1` SET `sex` = '女' WHERE `id` > 6;

 8)删除数据

  A、格式

   DELETE FROM + 操作对象(如表格) WHERE + 操作对象中被删除的内容/删除的条件;

   #如果没有WHERE条件,默认删除整个对象内的内容,如表,则会删除整个表内的内容,但不会将表删除;

  例1:DELETE FROM `students_1` WHERE `id` = 5;

    #删除一行;

  例2:DELETE FROM `students_1` WHERE `sex` = '男';

    #删除所有 'sex' = '男' 的行;

  9)其它

   A、新建索引:CREATE INDEX

   B、修改表:ALTER TABLE

   C、删除数据库、表、索引、视图等:DROP

# 要备份数据库,避免错误修改数据库后无法恢复;

# 不要因学语法而学语法,目的在于对数据库中的数据进行操作,一般通过数据库的管理工具进行数据管理,这样更快捷方便;

SQL常用语法及规则-表格的操作的更多相关文章

  1. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

  2. sql 常用语法汇总

    Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...

  3. SQL 常用语法记录

    SQL语法 注意:SQL 对大小写不敏感 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). 数据操作语言 (DML) SQL (结构化查询语言)是用于执行查询的语 ...

  4. Sql常用语法总结

    SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRAN ...

  5. SQL 常用语法

    一.SQL分类 DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRA ...

  6. PL/SQL常用语法及举例

    PLSQL语句 DECLARE 声明部分 BEGIN 程序编写,SQL语句 EXECPTION 处理异常 END; / 声明部分(DECLARE) SQL> set serveroutput o ...

  7. oracle入门(6)——PL/SQL常用语法

    [本文介绍] 本文不是”语法大全“,只是记录下作项目里自己常用的一些语法.方便查询. [语法] [输出]   (1)输出语法 DBMS_OUTPUT.PUT_LINE( ) [定义]   (1)定义变 ...

  8. LINQ TO SQL 常用语法

    LINQ To SQL中IN的用法   IN: C# var result = from s1 in context.Customers where (new string[] { "UK& ...

  9. sql常用语法

    --在表中添加字段if col_length('JX_DomesticStudy','XL') is null begin alter table JX_DomesticStudy add PXlev ...

随机推荐

  1. Asp.Net网站统一处理错误信息

    1.创建Global.asax文件 2.在Application_Error里统一处理,可以写入文件,也可以写入SQL.代码如下 Exception ex = Server.GetLastError( ...

  2. 读a paper of ICCV 2017 : Areas of Attention for Image Captioning

    前言废话,作者说把代码公布在gitub上,但是迟迟没有公布,我发邮件询问代码情况,邮件也迟迟不回,表示很尴尬..虽然种种这些,但是工作还是好工作,这个没的黑,那我们今天就来详细的介绍这篇文章. 导论: ...

  3. DHTMLTree、Dtree和Ztree的学习使用

    一.DHTMLTree是树菜单,允许我们快速开发界面优美,基于Ajax的javascript库.她允许在线编辑,拖拽,三种状态(全选.不选.半选),复选框等模式.同时在加载大数据量的时候,仍然可以保持 ...

  4. 小程序 requestAnimationFrame 死循环

    小程序没有requestAnimationFrame  这个方法,小游戏有,使用这个方法会造成死循环

  5. PAT 天梯赛 L2-005. 集合相似度 【SET】

    题目链接 https://www.patest.cn/contests/gplt/L2-005 思路 因为集合中的元素 是不重复的 所以用SET 来保存 集合 然后最后 查找一下 两个集合中共有元素 ...

  6. Swift协议+代理

    Swift语言开发中使用协议+代理的用法和oc中是一样的,只不过变得是语法.现在就进入swift的协议+代理. 先上个图,看看我们要实现的效果:  首先是第一个页面,然后点击到第二个页面,最后点击返回 ...

  7. 动态添加select的option

    动态给select标签添加option,结合前人经验以及自己经验,现在总结三种方法供大家参考,一起交流学习! 首先是定义的select元素: //根据ID获得select元素var mySelect ...

  8. ARM NEON 64bit 查找表替换

    没啥效果,如果表的长度在 64个uint8_t之类,应该可以提高查表速度,否则还是C来的快 #ifdef HAVE_NEON_AARCH64 void table_lookup_AArch64_neo ...

  9. [原创]java WEB学习笔记08:HttpServletRequest & ServletRequest

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  10. curl简单封装 get post

    Curl.php <?php /** * Class Curl curl简单封装 get post */ class Curl { /** * @brief get请求 * @param $ur ...