SQL基础

MySQL学习笔记(1)

SQL基础

安装:推荐下载官方rpm包安装
配置:执行mysql --help可查看相关相关配置信息,服务所使用配置文件的位置可以通过mysql --help|grep my.cnf查看。
服务:启动服务mysqld_safe &,停止服务mysqladmin -uroot shutdown -p

client连接后?可以查看client端信息,其中\e结合\g(\G)很好用

修改表(DDL)

  • 修改表类型
ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
  • 增加表字段
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]
  • 删除表字段
ALTER TABLE tablename DROP [COLUMN] col_name
  • 修改字段名
ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST | AFTER col_name]

change和modify都可以修改表的定义,但change需写两次列名,优点是能改列名,modify不能。

  • 修改字段排列顺序,前面介绍的字段增加和修改语法都有一个可选项 first|after column_name,该选项用来修改字段在表中的位置。

CHANGE/FIRST|AFTER这些关键字都是属于mysql在标准sql上的扩展。

  • 更改表名
ALTER TABLE tablename RENAME [TO] new_tablename

DML语句

  • 插入记录(一次插入多条--批量插入,用逗号分隔)
INSERT INTO tablename(field1,field2,...,fieldn) VALUES(value1,value2,...,valuen) [,(value1,value2,...,valuen),...,(value1,value2,...,valuen)];

在插入大量记录时,批量插入的特性节省了很多的网络开销,提高了插入效率。

  • 更新记录 & 夺标更新
UPDATE tablename SET field1=value1,field2=value2,...,fieldn=valuen [WHERE CONDITION]
或者
UPDATE t1,t2,...,tn set t1.filed1=expr1,...,tn.filedn=exprn [WHERE CONDITION]
  • 删除表记录 & 多表删除
DELETE FROM tablename [WHERE CONDITION]
多表删除
DELETE t1,t2,...,tn FROM t1,t2,...,tn [WHERE CONDITIO

执行删除操作之前强烈建议先用select查确定好where条件,最后添加delete。不管是单表还是多表,没有where条件将会删除所有记录。

查询记录

  • 聚合
SELECT [field1,field2,...,fieldn] fun_name
    FROM tablename 
    [WHERE where_contition] 
    [GROUP BY field1,field2,...,fieldn] 
    [WITH ROLLUP]
    [HANVING where_contition]
  • fun_name表示聚合操作:sum,count,max,min
  • GROUP BY 表示要进行分类聚合的字段
  • WITH ROLLUP 表示是否对分类聚合后的结果汇总
  • HAVING 对分类结果进行条件过滤

having对聚合结果进行条件过滤,where在聚合前对记录过滤,如逻辑允许,尽可能用where先过滤记录,结果集减少对聚合效率会有提高。

  • 连接查询
SELECT [filed1,...,filedn] FROM table1name [LEFT | RIGHT] JOIN table2name ON CONDITION
  • 子查询

    查询时需要的条件是另一个select语句的结果,用子查询。子查询关键字主要包括in、not in、=、!=、exists、not exists等。

    在mysql4.1以前不支持子查询,需要用连接查询来实现子查询。表连接在多数情况下优于子查询。

  • 联合查询

    SELECT * FROM t1
    UNION | UNION ALL
    SELECT * FROM t2
    ...
    UNION | UNION ALL
    SELECT * FROM tn
> UNION和UNION ALL的主要区别是UNION ALL将结果集直接合并在一起,而UNION会进行一次DISTINCT。

DCL语句

  • 创建用户并且分配权限
    GRANT func[INSERT|SELECT] ON dbname.table[*] to 'USERNAME'@'ADDR' IDENTIFIED BY 'PASSWD'
  • 回收权限
REVOKE table ON tablename.* from 'USER'@'PASSWD'
> 注意使用mysql的帮助文档,即为`? content`。
  • 查询元数据信息

    mysql5.0以后提供了一个information_schema,用来记录mysql中的元数据信息,该数据库为一个虚拟数据库,物理上不存在目录和文件,库中show tables显示的‘表’实际上都是视图

Github传送门

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • 什么是SQL数据库: SQL是Structured Query Language(结构化查询语言)的缩写。SQL是...
    西贝巴巴阅读 1,766评论 0 10
  • SQL基础 SQL 简介 SQL是用于访问和处理数据库的标准的计算机语言 SQL是什么? SQL,指结构化查询语言...
    星辰361阅读 639评论 0 11
  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 5,333评论 0 33
  • 疲倦的马路静止的如水 拥叠的公车是漂浮在上的行舟 灿烂的夕阳透过帘缝挥洒进来 奶茶的哀婉声音推舟欢快向前 仿佛陈升...
    云使小短阅读 175评论 0 0
  • 新抽长的芒草才会用洁净的金属般的光的闪烁。芒草能保有这样如丝缎般闪亮的华美,时间并不长。这种青春的美丽,很快就会消...
    xuezhu766阅读 355评论 0 0