database包含tables(具体数据库中包含各个表)

tables包含columns(具体表中包含各个列)

describe 表名是查看表格结构;

清空表中数据:truncate 表名;

set sql_safe_updates=0;(取消安全模式)

修改数据语句:update 表名 set 列名1='',列名2='' 记得一定要加where表达式来限定条件

select *表示取出所有列,后面加where表达式 来限定行的条件

字符串和日期常数需要单引号括起来 '',数字常数可以直接书写

整型——int系列默认有符号;unsigned是无符号;int(M)中的M代表限制了字符宽度,M位宽度 数据类型存储列int的大小从小到大:tinyint

float——浮点型(小数),decimal——定点型,decimal比float更精确。float(M,D)或decimal(M,D);M,D分别代表:M代表小数总位数,而D代表小数点右边的位数 例如float(6,2)就是-9999.99~9999.99

字符串类型:char (定长字符串);varchar (变长字符串) text(文本类型)一版存储文章内容,不需要后缀的默认值和非空限制;blob(二进制类型)一般存储图像音频等信息

alter增加列;语句是:alter table 表名 add 列名 列数据类型 列参数;常用的列参数是unsigned--无符号类型(unsigned的数据范围是0~255);

列参数:zerofill和M配合使用,比如学号列,需要000## 填充;另外zerofill有0的填充,必同时是unsigned类型

如果要加在固定列后面,利用after 语句:alter table 表名 add 列名 列数据类型 列参数 after 某列;

如果把新列放在列的最前面,利用first语句:alter table 表名 add 列名 列数据类型 列参数 first;

新建表格:

事务:新建多条数据是时 :1)START TRANSACTION; 2)insert into 表名 values(数据1,数据2…数据N);……insert into 表名 values(数据A,数B…数据N);COMMIT;

删除列:alter table 表名 drop 列名;修改列:alter table 表名 modify 列名新的列数据类型 列参数 同时注意modify不能改列名,应该用change修改列名,语句是:alter table 表名 change 旧列名 新列名 新的列数据类型 新列参数

删除多行:delete from 表名 where表达式;

删除多列,语句中需要加column 如图:日期型 dateYYYY-MM-DD;datetime YYYY-MM-DD HH:MM:SS ;timestamp YYYY-MM-DD HH:MM:SS;year YYYY

建立相同结构的表:create table 新数据表名 like 原数据表名

整个表格的数据复制语句:insert into 新数据表名 select 列名1,2,3…N from 原数据表名

注释的书写(--注释 或者/*注释*/)

And运算符的优先级高于Or,如果想优先执行Or,可以使用括号;

where price between 100 and 500包括等于100等于500 的数据;where price>100 and shop_price <500 相当于 100

<=之类的符号不但能比较数字,也能按照字典顺序来比较字符串

左连接 left——语法:A left join B on 条件 ;理解为A表在左不动 ,B表在A右边滑动取值,A表与B表通过一个关系来关联筛选 条件为真,则B表对应的行取出 它的形成可以看作一个结果集(一张表)可以对其结果集进行再查询(A、B表的列都可以查询)

左连接根据左边的表 右表中找不到的结果 用 null补齐该行

右连接和左连接相同,相当于B right join A on 条件 ;一般用左连接即可 A left join B on 条件 就等价于 B right join A on 条件

内连接inner join——语法:A inner join B on 条件 ;内连接可以看作是左右连接的交集

外连接可以看作是左右连接的并集 ,但在mysql中不支持,用union合并左右连接的效果就是并集

设置别名:select 列名 as 列别名;或者select…from 表名 as 表别名

合并union——语法:SQL1 union SQL2;可以通过as设置别名让两张表的结果集中列名一致 但如果不统一列名,结果集的列名将以第一张表的列名为准 另外 union 会对结果集自动去重;如果不想被去重,使用 union all ;union使用条件:只要两个表的列数相同,即可合并取出结果集

order by 注意事项:内层 order by 语句单独使用,不会影响结果集,只是排序,在执行时会被mysql优化掉失去其排序意义,所以不起作用;但在影响结果集的时候,就有意义,比如配合limit 使用,内层 order by 排序功能可用

聚合函数删除重复值,用select count(distinct 列名)from 表名 或者select distinct count(列名)from 表名

count 只是计数功能,不能count(表达式)来筛选但可以用 sum(表达式)来计数

Group by 优先于select 语句执行,所以不能使用select的别名

where语句中不能有聚合函数,需要利用having语句来限制条件,order by可以使用聚合函数排序

order by 语句通常写在select语句的末尾 默认是升序,DESC是降序,order by 列名 DESC;多条件排序就是order by 列名1,order by 列名2【列名1优先于列名2】

限制条数用limit:放在order by 后面,语法:limit[offset,N] offset是偏移量 默认值为0;N是取出的条目 ;例如:limit3是直接取出前三条数据;而 limit 2,3就是得到第三到第五的三条数据 跳过2条数据偏移量是2,然后再取3条, 是'3 4 5' 三条数据被取出

字句顺序:where>group>having>order by>limit

多行数据插入语法:1)START TRANSACTION 2)INSERT INTO 表名 VALUES (插入的内容,用 '' 和 , 分隔开)语句用, 结尾 3)重复INSERT INTO 表名 VALUES (插入内容); 4)COMMIT; 5)完成数据插入查看表的编码:show full columns from 表名

修改表编码至支持中文: alter table 表名 convert to character set utf8;子查询:

1.where型子查询:把内层的查询结果作为外层的查询条件;如果where列=内层SQL,那么子查询的返回必须是单个值;如果where列 in 内层SQL,那么返回值只能是单列 【典型题:查询最大商品、查询最贵商品等】

2.from 型子查询:把内层的查询结果作为临时表,供外层SQL继续查询 【典型题:查询每个分组下最新商品、最贵商品等】

3.exist型子查询:把外层的查询结果代到内层,看内层查询是否成立,如成立则取出值【典型题:查询有商品的分组】拼接字符串的代码用 concat,select 列A,列B, concat(列A,列B) as str_concat from 表名;

null:单独的null是空类型 无法进行比较,需要用到 is null和is not null;碰到其他运算符一律返回null——所以在建表时,会加上 not null default ''或 not null default 0的限制

length('字符串')可以计算字符串长度;replace(对象字符串,替换前字符串,要替换成的字符串)是字符串替换函数;substring 是字符串截取函数(对象字符串,from从第几位截取,for是截取字符数)

case when then函数来判断,例如:select case 列名 when数据1 then '返回值1' when数据2 then '返回值2' …end from 表名;或者if函数:if(表达式) 例如:select * if(表达式,'返回值1','返回值2')

current date 是当前时间;extract(日期元素 from日期),例如extract(minute from current_timestamp);cast(转换前的值 AS 转换后的数据类型)是类型转换函数,例如cast('0001',AS interger)

DEFAULT是指默认值

coalesce(数据1,数据2,数据3)是可以将Null转换为其他值的函数,返回参数中第一个非空值,例如coalesce(Null,1),就返回1

inner join是指取A、B表的交集;outer join获得的是A和B的并集;union 是表格的加法;union all是包含重复值的表格加法

view 视图;CREATE view as select语句 ; 视图可以理解为表的影子映射来的;某些情况下,视图和表的数据一一对应的时候,视图的修改会影响到表,可理解为有反函数

algorithm 有三种形式 algorithm=merge 是合并查询语句;algorithm=temptable 是建立临时表;algorithm=undefined 是未定义,由系统判断

algorithm的语句例如:1)create algorithm=merge view v2(视图名) as select*from 表名 where >200; → (列名表达式1) 2)select*from v2 where <500; → (列名表达式2) 这样的algorithm比view 查询效率更快

ROUND(X,D)函数:表示将值 X 四舍五入为小数点后 D 位的数值,D为小数点后小数位数。若要保留 X 值小数点左边的 D 位,可将 D 设为负值。

mysql 集成模式_mysql基础学习整合相关推荐

  1. mysql as用法_MySQL基础学习总结

    数据分析无法离开SQL这一重要的工具,经过十天时间的学习,并完全以MySQL工具对上一节的数据分析岗位数据进行了分析,加强了操作训练,对这一工具使用有了基本的经验.本着以输出为手段检验学习效果,以温故 ...

  2. mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...

    MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...

  3. mysql rollup 排序_MySQL基础实用知识集合(二)

    上期小编给大家汇总介绍了mysql的6个基础的知识点,下面继续给大家分享一下另外7个知识点: 7.什么是死锁?怎么解决? 死锁:两个或多个事务相互占用了对方的锁,就会一直处于等待的状态. 常见的解决死 ...

  4. mysql 严格模式_MySQL 开启/关闭 严格模式(Strict Mode)

    [广告:最高 ¥2000 红包]阿里云服务器.主机等产品通用,可叠加官网常规优惠使用 | 限时领取 查看 Mysql 是否开启严格模式: 打开 MySQL 配置文件 my.cnf(windows为my ...

  5. 学好mysql教材_MySQL基础学习

    开始学习MySQL了,在几本经典的教材和课程之间纠结了一段时间,至于选的课到底适不适合我得等到后期才能反馈了.ps:OneNote做笔记非常棒! ##mysql服务的登录和退出 方式一:计算机-右击管 ...

  6. mysql 分组求和_MySql基础语法

    SQL语句分类 DDL:数据定义语言,用来定义数据库对象:库.表.列等 DML:数据操作语言,用来定义数据库记录(数据) DCL:数据控制语言,用来定义访问权限和安全级别: DQL:数据查询语言,用来 ...

  7. mysql注释符号_MySQL基础知识(2021最新版教程)

    一.MySQL简介 MySQL是一种开放源代码的关系型数据库管理系统,使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理. MySQL是开放源代码的,因此任何人都可以在General ...

  8. mysql视频下载_Mysql基础+进阶完整版视频教程下载

    Mysql基础+进阶完整版视频教程下载 课程介绍: Mysql是一个最常用的关系型数据库管理系统,此为python开发职业课程系列的其中一套课程.该套课程是现目前国内最齐全的mysql视频教程之一,从 ...

  9. 【MySQL系列】数据库基础学习_简单认识数据库

    「前言」文章内容大致是数据库基础,以及数据库的基本知识. 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 「枫叶先生有点文青病」「句子分享」 我见青山多妩媚,料青山.见我应如是 ...

最新文章

  1. CSS之布局(文档流)
  2. Exchange服务器系列课程之六--维护邮件服务器(一)
  3. 【每周CV论文推荐】 初学高效率CNN模型设计应该读的文章
  4. px4官网调参指南 多旋翼无人机PID调参指南
  5. 【Java】Java与GoF-23种设计模式
  6. ffmpeg视频处理
  7. selenium之 chromedriver与chrome版本映射表(更新至v2.43)
  8. 毕啸南专栏 | 对话王小川:搜狗不是谁的“变量”,是行业主要玩家
  9. QT编译错误:invalid application of 'sizeof' to incomplete type 'Qt3DRender::QPickEvent'
  10. 联通引入乐phone:联想欲克隆PC成功模式
  11. 引入Hub再生的最短帧长及主机之间距离的最大值计算
  12. 微信小程序下载API接口调用异常常见解决方法
  13. 微信小程序做留言板mysql_微信小程序实现留言板(Storage)
  14. 《信号分析与处理》基于LabVIEW的心音信号的频域分析(数字信号、信号与系统实验、毕业设计、期末大作业)
  15. asic面试题目 英伟达_英伟达笔试题目ASIC|英伟达笔试题
  16. 2013年度CSDN十大博客之星
  17. 华为BLM是什么?有什么用?怎么用?三张图就说清楚了
  18. Topaz Mask AI 1.3.7汉化版|AI人工智能抠图插件Topaz Mask AI 1.3.7中文版
  19. python编写程序公式计算s_python pandas库和stats库计算偏度和峰度(附程序)
  20. Excel受保护的工作表怎么操作?

热门文章

  1. 华为Mate X即将于本月上市:5G实测下载速率超1Gbps
  2. 拼多多开始卖车了!3.49万秒杀五菱宏光...
  3. 又炸了!三星5G旗舰手机首燃 官方如此回应...
  4. 苹果2019新款iPhone售价惊曝:咬牙仍坚持高价位?
  5. 拳王虚拟项目公社:2020考研专业院校选择
  6. 源码解析之HashMap实现原理
  7. java可变字符串替换字符,我们如何替换Java中String和StringBuffer的特定部分?
  8. php mysql 代理_让PHP像C罗一样操作MySQL之ProxySQL
  9. the android sdk location cannot be at the filesystem root
  10. 什么是原子操作?Linux下有哪些原子操作API