一、基础

  模式定义了数据如何存储、存储什么样的数据库以及数据如何分解等信息,数据库和表都有模式。关于数据库的模式可以参考这里:https://blog.csdn.net/liaohong940908/article/details/51906697

  主键的值不允许修改,也不允许复用,也就是不能使用已经删除的主键值赋值给新数据的主键。

  SQL语句不区分大小写,但是数据库表名、列名是否区分依赖于具体的DBMS以及配置

  SQL的注释方式:

    ①#注释

    ②select * from mytable --注释

    ③/*

    注释

    */

二、创建表

  create table mytable(

  id int not null auto_increment,

  col1 int not null default 1,

  col2 varchar(10) null,

  col3 date null,

  primary key ('id')

  );

三、修改表

  添加列

    alter table mytable add col4 char(5);

  删除列

    alter table mytable drop column col;

  删除表

    drop table mytable;

四、插入

  普通插入

    insert into mytable (col1,col2) values(val1,val2);

  插入搜索出来的数据

    insert into mytable (col1,col2) select col1,col2 from mytable;

  将一个表的内容插入到一个新表

    create table newtable as select * from mytable;

五、更新

  update mytable set col=val where id=1;

六、删除

  delete from mytable where id=1;

  truncate table 清空表,即删除了所有行

七、查询

  select distinct col1,col2 from mytable;  distinct:相同值只会出先一次,这句就是选择相同的列

  select * from mytable limit 5;  限制返回5行

  select * from mytable limit 0,5;  限制返回5行

  select * from mytable limit 2,3  返回3~5行

八、排序

  asc  升序,也是默认

  desc  降序

  可以按多个列进行排序,并且为每个列指定不同的排序方式:

    select * from mytable order by col1 desc,col2 asc;

九、过滤

  select * from mytable where col is null

  下面显示了where子句可用的操作符:

    = 等于  < 小于  > 大于

    <> 不等于  != 不等于

    <= 小于等于  !> 小于等于

    &gt;= 大于等于  !< 大于等于

    between 在两个值之间

    is null 为null的值  注意:null 与 0 、空字符串都不同

    and or 用于连接多个过滤条件,优先处理 AND,当一个过滤表达式涉及到多个 AND 和 OR 时,可以使用 () 来决定优先级,使得优先级关系更清晰。

    in 操作符用于匹配一组值,其后也可以接一个 select子句,从而匹配子查询得到的一组值。

    not 操作符用于否定一个条件。

十、通配符

  %  匹配>=0个任意字符

  \    匹配1个任意字符

  []   可以匹配集合内字符,类似正则表达式;^可以否定其内容。

  eg:  select * from mytable where col like '[^AB]'  不以A和B开头的任意文本

  注意:不要滥用通配符,通配符位于开头处匹配会非常慢。

mysql基础知识(1)的更多相关文章

  1. mysql基础知识大全

    前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里作简单概括性的介绍,具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续会慢慢补充完善. 数据库和数据库软件 数据库是 ...

  2. mysql基础知识语法汇总整理(二)

    mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...

  3. mysql基础知识语法汇总整理(一)

    mysql基础知识语法汇总整理(二)   连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...

  4. MySQL 基础知识梳理

    MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...

  5. MySQL基础知识:启动管理和账号管理

    整理.记录常用的MySQL基础知识:时间久了,很多就忘记了. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0.13 MySQL Community Server - GPL. ...

  6. MySQL基础知识:创建MySQL数据库和表

    虚构一个微型在线书店的数据库和数据,作为后续MySQL脚本的执行源,方便后续MySQL和SQL的练习. 在虚构这个库的过程中,主要涉及的是如何使用命令行管理 MySQL数据库对象:数据库.表.索引.外 ...

  7. MySQL基础知识:Character Set和Collation

    A character set is a set of symbols and encodings. A collation is a set of rules for comparing chara ...

  8. mysql基础知识详解

    分享一些mysql数据库的基础知识. 1.每个客户端连接都会从服务器进程中分到一个属于它的线程.而该连接的相应查询都都会通过该线程处理.2.服务器会缓存线程.因此并不会为每个新连接创建或者销毁线程.3 ...

  9. Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型

    1.基础知识 1.1.数据库概述 简单地说:数据库(Database或DB)是存储.管理数据的容器: 严格地说:数据库是"按照某种数据结构对数据进行组织.存储和管理的容器". 总结 ...

  10. 一、MySQL基础知识

    一.背景介绍 我们每天都在访问各种网站.APP,如微信.QQ.抖音,今日头条等,这些东西上面都存在大量的信息,这些信息都需要有地方存储,存储在哪里呢?数据库. 所有我们需要开发一个网站.APP,数据库 ...

随机推荐

  1. 学python之路前的一些话

    为什么学python: 这些年一直从事运维相关的工作.但做下来感觉都是些很基础的东西,无非就是对一些命令或者问题处理很熟练而已,混的都是经验.曾很羡慕会写shell脚本,会自动化安装程序的运维组组长, ...

  2. BT1120时序,可以用于自测用

    module bt1120_gen #( , , , , , )( input clk, input rst_p, // input [5:0] h_sync_pixcels, // input [5 ...

  3. Java Applet小应用

    开发和部署方式     嵌入到HTML网页中,用<Applet></Applet>标签识别.java环境用浏览器的,在第一次打开时下载,可开发成以后打开,默认不必再次下载.也可 ...

  4. Leetcode--680. Valid Palindrome II(easy)

    Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...

  5. Scala_方法、函数、柯里化

    方法.函数.柯里化 方法 声明方法: scala> def m1(x:Int,y:Int):Int = {     | x + y     | }m1: (x: Int, y: Int)Ints ...

  6. 区间DP石子合并问题 & 四边形不等式优化

    入门区间DP,第一个问题就是线性的规模小的石子合并问题 dp数组的含义是第i堆到第j堆进行合并的最优值 就是说dp[i][j]可以由dp[i][k]和dp[k+1][j]转移过来 状态转移方程 dp[ ...

  7. codeforces 434D

    题意:有n<=50个点,每个点有xi有[li, ri]种取值,-100 <= li <= ri <= 100,并且给定m<=100条边,每条边为u,v,d表示xu< ...

  8. 使用PinYin4j.jar将汉字转换为拼音

    package com.Test.util; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j ...

  9. poj 2676 如何填满九宫格

    Sudoku Time Limit: 2000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java class ...

  10. Android-WebView加载网页(new WebView(this)方式)

    之前的博客,都是 findViewById(R.id.webview);,来得到WebView, 此博客使用 new WebView(this)方式; AndroidManifest.xml中配置网络 ...