文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

chengwei8410

http://g8akg8.riyuangf.com/comchengwei8410/

相关列表
文章列表
  • 暂无文章
推荐文章
联系方式
  • 联系人:程卫
  • 电话:86 0516 85870332
MySQL ---- SQL语法使用 大全
发布时间:2024-11-18        浏览次数:0        返回列表

笔者依然失业中(手动微笑 (* ̄︶ ̄)…)…今天带来 MySQL 的一些使用,学了这些,笔者相信你可以应付 Android 的一般面试(bat、tmd 不属于一般面试哈,加深 Android 的一些数据库框架的原理理解。

MySQL ---- SQL语法使用 大全

前提

你已经在你的linux、ios、win 系统内安装了MySQL。

数据库处理分为四种操作:dbl—>数据库表操作;dml—>数据库表内容操作;dql—>数据库查询操作;dcl—>数据库权限操作

1、建库命令:CREATE database name(数据库名称

示例MySQL ---- SQL语法使用 大全

2、展示库命令:SHOW databases

示例MySQL ---- SQL语法使用 大全

3、删除库命令:DROp database name(数据库名称

示例MySQL ---- SQL语法使用 大全

4、进入数据库(使用数据库: USE name(数据库名称

示例MySQL ---- SQL语法使用 大全

1、double:浮点型 double(5,2)---->表示共 5 位数据,2位为小数; 2、decimal:浮点型 不丢失经度; 3、char:固长字符串,最大长度为 255字节,不足 255字节 长度 自动填充到 255字节 长度; 4、varchar:可变长度字符串,最大长度为 65535 字节,每一个该类型数据都最少有一位字节进行长度标记; 5、text(clod —>MySQL的字符型:字符串类型; 6、blog:字节类型; 7、data:日期类型-----> 只有 年 月 日; 8、time:时间类型---->只有 时 分 秒; 9、timestamp:时间戳

1、创建表:CREATE table name(表名)(列名 列类型,列名 列类型…)

示例MySQL ---- SQL语法使用 大全

2、展示表:SHOW tables;

示例MySQL ---- SQL语法使用 大全

3、展示表结构:DESC name(表名);

示例MySQL ---- SQL语法使用 大全

4、删除表 DROP table name(表名

示例: MySQL ---- SQL语法使用 大全

5、修改表操作
1)、添加列: ALTER table name(表名) ADD(列名 列类型,列名 列类型 …)

示例MySQL ---- SQL语法使用 大全

2)、删除列:ALTER table name(列名) drop 列名

示例MySQL ---- SQL语法使用 大全

3)、修改列类型:ALTER table name(表名)modity 列名 新的列类型

示例MySQL ---- SQL语法使用 大全

4)、修改表名: ALTER table name(表名)rename to 新表名

示例MySQL ---- SQL语法使用 大全

5)、修改列名:ALTER table name(表名)change 列名 新列名 列类型

示例MySQL ---- SQL语法使用 大全

1、添加数据
1)、指定列增加数据

INSERT INTO name(表名(列名,列名,列名…)values (数据、数据、数据); 示例MySQL ---- SQL语法使用 大全

2)、所有列添加数据

INSERT INTO name(表名)values (数据,数据,数据; 示例MySQL ---- SQL语法使用 大全

2、删除数据
1)、删除全部数据

DELETE FROM name(表名; 示例MySQL ---- SQL语法使用 大全

2)、删除指定数据

DELETe FROM name(表名)WHERe 列名=数值; 示例MySQL ---- SQL语法使用 大全

3、修改数据
1)、修改全部数据(整列数值

UPDATe name(表名)set 列名=数据,列名=数据…; 示例MySQL ---- SQL语法使用 大全

2)、条件修改

UPDATE name(表名)SET 列名=数值,列名=数值… WHERe (筛选条件)列名=数值; 示例MySQL ---- SQL语法使用 大全

3)、条件运算符

=、=、<>(不等于)、>、<、>=、<=、between…and…(在…和…之间)、and(并且)、in (…(集合内的 列)、is null(空的)、is not null(不是空)、or(或者);

4、查询数据
1)、查询全表

SELECT * FROM name(表名); 示例MySQL ---- SQL语法使用 大全

2)、查询单列

SELECt name(列名)FROM name(表名; 示例MySQL ---- SQL语法使用 大全

3)、去除重复行

SELECt DISTINCT name(列名)FROM name(表名); 示例MySQL ---- SQL语法使用 大全

4)、表后面追加 表内一行数据

SELECt *, name(列名)FROM name(表名; 示例MySQL ---- SQL语法使用 大全

5)、 列运算

(1)、某列 + - x ÷ 某个值并追加到表后 SELECt name(列名+100 FROM name(表名; 示例MySQL ---- SQL语法使用 大全 MySQL ---- SQL语法使用 大全

注意

1、字符型数据直接 进行四则运算 会 将原数据当做 0来处理; 2、列数据为 null 的数据 进行四则运算 结果为 null

(2)、当列数值为 null 时进行四则运算 SELECt ifnull(name(列名,数值 +(四则表达式)num (数值) from name(表名; 示例MySQL ---- SQL语法使用 大全

MySQL ---- SQL语法使用 大全

(3)、字符串拼接: SELECt CONCAt (‘自定义字符串’,列名,‘自定义字符串’ ,列名) FROM name(表名); 示例MySQL ---- SQL语法使用 大全 (4)、给列起别名: SELECt name(列名) AS nickname(别名),name nickname(别名)FROM name(表名MySQL ---- SQL语法使用 大全

6)、精确查询

SELECt * FROM name(表名) WHERe 列名=数值; 示例MySQL ---- SQL语法使用 大全

7)、模糊查询

(1)、匹配单个字符 SELECt *FROM name(表名) WHERe 列名 LIKE '某 _ _ '; 一个 “”表示一个模糊字符; 示例MySQL ---- SQL语法使用 大全 (2)、匹配多个字符 SELECt * FROM name(表名) WHERe 列名 LIKE ‘某%’; % 表示无约束的字符个数; 示例MySQL ---- SQL语法使用 大全

8)、排序

(1)、升序排序: SELECt *FROM name(表名)ORDER BY name(列名)ASC; 示例MySQL ---- SQL语法使用 大全 (2)、降序排序 SELECt FROM name(表名) ORDER BY name (列名)DESC; 示例MySQL ---- SQL语法使用 大全 (3)、排序列存在相同数据 SELECtFROM name(表名)ORDER BY name(列名)ASC, name(列名) DESC; 示例MySQL ---- SQL语法使用 大全

9)、纵向查询----聚合函数

(1)、查询数据总数 SELECt COUNT(*)FROM name(表名; 示例MySQL ---- SQL语法使用 大全 (2)、查询某列总数 SELECt COUNT(name(列数)FROM name(表名MySQL ---- SQL语法使用 大全

注意

该查询会跳过 改行 数据 为 null 的行

(3)、查询某列数值总和 SELECt SUM (name (列名)FROM name(表名; 示例MySQL ---- SQL语法使用 大全

(4)、查询某列最大值 SELECt MAX(name(列名)FROM name(表名; 示例MySQL ---- SQL语法使用 大全 (5)、查询某列最小值 SELECt MIN(name(name (列名)) FROM name(表名); 示例MySQL ---- SQL语法使用 大全 (6)、查询某列平均值 SELECt AVG(name (列名)FROM name(表名; 示例MySQL ---- SQL语法使用 大全

10)、分组查询

(1)、普通分组查询 SELECt name(列名),COUNT()(任意聚合函数) FROM name(表名)GROUP BY name(列名,与之前出现的列名相同; 示例MySQL ---- SQL语法使用 大全 翻译(不要讨论存在价值:age 组内 最大的 sid ,每一个age 就是一组。 (2)、分组前进行筛选查询 SELECt name(列名,COUNT(任意聚合函数)FROM name(表名)WHERe name(列名)>(任意条件运算符)GROUP BY name(列名); 示例MySQL ---- SQL语法使用 大全

(3)、分组后进行筛选查询 SELECt name(列名),COUNT (任何聚合函数)FROM name(表名)WHERe name(列名) >(任意调价运算符)num(条件数值) GROUP BY name(列名)HAVINg COUNT)(任意聚合函数)>2; 示例MySQL ---- SQL语法使用 大全

11)、约束

画外音:这里给大家安利一个软件,有了它,就不需要在黑框里面输入了,先上下载链接:SQLyong 提取码:393r

复制这段内容后打开百度网盘手机App,操作更方便哦)

(1)、主键约束(唯一标识:非空、唯一、被引用

创建主键约束

name(列名)int (数据类型)PRIMARY KEY; 示例MySQL ---- SQL语法使用 大全 MySQL ---- SQL语法使用 大全

表存在 指定主键约束

ALTER table name(表名)ADD PRIMARY KEY(name(列名); 示例MySQL ---- SQL语法使用 大全

MySQL ---- SQL语法使用 大全

MySQL ---- SQL语法使用 大全

删除 列主键约束

ALTER table name(表名)DROp PRIMARY KEY; 示例MySQL ---- SQL语法使用 大全

(2)、主键自增长

创建表时 主键自增长

name(列名) INT PRIMARY KEY AUTO_INCREMENT; 示例MySQL ---- SQL语法使用 大全

MySQL ---- SQL语法使用 大全

删除 列 主键自增长

ALTER TABLE name(表名) CHANGE 列名 列名(与前面相同) INT; 示例MySQL ---- SQL语法使用 大全

已知列 添加主键自增长

ALTER TABLE name CHANGE 列名 列名(与前面相同)AUTO_INCREMENT; 示例MySQL ---- SQL语法使用 大全

(3)、添加非空约束 name(列名)int not null; 示例MySQL ---- SQL语法使用 大全

(4)、唯一约束 name(列名)int unique; 示例MySQL ---- SQL语法使用 大全

1、多表概念

1)、外键必须是另一张表的主键(不太准确,外键要引用主键; 2)、外键可以重复; 3)、外键可以为 null; 4)、一张表可以包含多个外键。

2、外键约束 一对多
1)、建表时 进行关联

name (主表从表相同的列名)int(主表从表相同的类型, ConSTRAINT name(名字)FOREIGN KEY (name(外键名称) REFERENCES name(从表名称(name(从表关联键

示例:主表 从表

注意:先有从表 后有主表

MySQL ---- SQL语法使用 大全 MySQL ---- SQL语法使用 大全

2)、已知表进行关联

ALTER table name(主表名称) ADD ConSTRAINT name(名字)FOREIGN KEY(name(外键名称)REFERENCES name(从表名称(name (从表关联列; 示例

3、外键约束 一对一

ConSTRAINT name(关联名称)FOREIGN KEY (name(主表主键列)) REFERENCES name(从表名称)(name(从表主键列)); 示例

4、外键约束 多对多

原理:一共三张表 A与B只存在主键、C表只存在 被关联的键,一一对应

5、多表查询
1)、基础知识

多表查询分为:合并结果集、连接查询、子查询

2)、合并结果集 前提 结果集表结构相同

(1)、合并结果集 去重---- union 关键字 SELECT * FROM name(表1)UNIOn SELECt *FROM name(表2; 示例MySQL ---- SQL语法使用 大全 MySQL ---- SQL语法使用 大全

少了 表2 一行数据

(2)、展示所有数据 ---- 关键字 union all SELECt * FROM name(表1)UNIOn ALL SELECt *FROM name(表2; 示例`SELECt *FROM tb_noo UNIOn ALL SELECt *FROM tb_not; MySQL ---- SQL语法使用 大全

3)、连接查询

(1)、概念:一次查询多表、内连接(MySQL独有方式、标准、自然连接)、外连接(左外连接、右外连接)、全连接(MySQL不支持,可模拟(2)、内连接— 方言

去掉笛卡尔积

SELECt *FROM name(表1,name(表2)WHERe name(表1).l列名=name(表2). 列名; 示例MySQL ---- SQL语法使用 大全

4)、跨表查询

SELECt name(主表名称).列名 name(从表名称).列名 FROM name(主表名称),name(从表名称) WHERe name(主表名称).列名(外键=name(从表名称).列名(关联键; 示例MySQL ---- SQL语法使用 大全

5)、标准内连接

SELECt * FROM name(主表名称)INNER JOIN name(从表名称)ON name(主表名称).列名(主表外键=name(从表名称).列名(从表键; 示例MySQL ---- SQL语法使用 大全

小插曲 按照 sid 进行排序MySQL ---- SQL语法使用 大全

6)、自然连接

SELECt *FROM name(主表名称)NATURAL JOIN name(从表名称); 示例MySQL ---- SQL语法使用 大全

7)、左外连接(左表为主

SELECt *FROM name(主表名称)LEFT OUTER JonIN name(从表名称)ON name(主表名称).列名=name(从表名称).列名; 示例MySQL ---- SQL语法使用 大全

8)、右外连接(右表为主

SELECt *FROM name(主表名称)RIGHT OUTER JOIN name(从表名称)ON name(主表名称).列名=name(从表名称).列名; 示例MySQL ---- SQL语法使用 大全

9)、全外连接(MySQL 不支持

SELECt *FROM name(主表名称)FULL OUTER JOIN name(从表名称)ON name(主表名称).列名=name(从表名称).列名

6、子查询 查询语句内嵌套查询语句
1)、从查询表格内再次查询

示例MySQL ---- SQL语法使用 大全

示例 MySQL ---- SQL语法使用 大全

2)、单行单列查询

SELECt *FROM name(表名)WHERe 列名 条件限定符(>、<、=、=、>=、<=等)(另一张表的单行单列查询结果); 示例MySQL ---- SQL语法使用 大全

3)、多行单列

SELECt *FROM name(表名) 别名 WHERe 列名 条件限定符 限定符合(in(集合)、all(所有)、any(任一(另一张表的单行单列查询结果

示例MySQL ---- SQL语法使用 大全