一、MySQL入门(MySQL读书笔记)

一、SQL基础

1、分类:

    DDL(Data Definitaion Lanaguages):数据定义语言;如 create drop alter 等

    DML(Data Manipulation Lanaguage):数据操纵语言;如 insert delete update select 等

    DCL(Data Control Language):数据控制语句,用于控制不同数据段直接的许可和访问级别的语句;如 grant revoke 等

2、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|FIRST|AFTER 这些关键字属于MySQL在标准SQL上的扩展,其他数据库上不一定生效

-- 修改表名
ALTER TABLE tableName RENAME [TO] new_tableName

2、DML语句

-- 插入记录
INSERT INTO tableName(field1,field2,...,fieldN) VALUES(value1,value2,...valueN)
INSERT INTO tableName(field1,field2,...,fieldN) VALUES(value11,value12,...value1N),(value21,value22,...value2N),(value31,value32,...value3N)
-- 更新记录
UPDATE tableName SET field1=value1,field2=value2,...,fieldN=valueN [WHERE CONDITION]
-- 支持同时更新多张表的记录
UPDATE t1,t2,...,tN SET field1=value1,field2=value2,...,fieldN=valueN [WHERE CONDITION]
-- 删除记录
DELETE FROM tableName [WHERE CONDITION]
-- 支持同时操作多张表(使用别名需要同时使用)
DELETE t1,t2,...,tN FROM t1,t2,...,tN [WHERE CONDITION]
-- 查询记录
SELECT * FROM tableName [WHERE CONDITION]
-- DISTINCT|WHERE|>|<|>=|<=|!=|ORDER BY|DESC|ASC
-- 部分查询(起始偏移量,显示的行数)
SELECT * FROM tableName [WHERE CONDITIONS] [LIMIT offset_start,row_count]
-- LIMIT 经常与 ORDER BY 配合进行分页显示;LIMIT 属于MySQL扩展语法,其他数据库可能不适用
-- 聚合
SELECT [field1,field2,...,fieldN] fun_name FROM tableName [WHERE CONDITIONS] [GROUP BY field1,field2,...,fieldN [WITH ROLLUP]] [HAVING where_condition]
-- fun_name 为聚合函数;WITH RULLUP为可选,表示是否对分类聚合后的结果进行再汇总;
-- where & having:having 是对聚合后的结果进行的条件过滤,where 是在聚合前就对结果进行过滤
-- 表连接
-- 内连接仅选出两张表同时匹配的记录,外连接会选出其他不匹配的记录。常用内连接
-- (外连接分为左连接及右连接)
left join ... on || right join ... on
-- 子查询:表连接在很多情况下用于优化子查询
-- 记录联合 union || union all
SELECT * FROM t1 UNION|UNION ALL SELECT * FROM t2;
-- UNION ALL - 结果直接合并;UNION  - DISTINCT 去重

3、DCL 语句

-- 赋权
GRANT SELECT,...,INSERT ON dbName.* TO 'username'@'localhost|%' IDENTIFIED BY 'password';
-- 权限回收
REVOKE SELECT,...,INSERT ON dbName.* FROM 'username'@'localhost|%';

4、帮助查询

-- 根据分类依次查询
? contents
? 命令
? data type | ? int | ? show

5、MySQL5.0 提供的新的数据库 information_schema,用来记录 MySQL 中的元数据信息(虚拟数据库)

     SHOW TABLES 命令显示的“表”也并不是实际存在的物理表,而全部是视图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值