mysql各种语法_MySQL常用语法

DDL:

1、直接创建数据库 CREATE DATABASE 数据库名;

2、删除数据库 DROP DATABASE 数据库名;

3、使用/切换数据库 USE 数据库名;

4、创建表

CREATE TABLE 表名 (字段名1 字段类型1, 字段名2 字段类型2…);

5、查看创建表的SQL语句 SHOW CREATE TABLE 表名;

6、快速创建一个表结构相同的表

CREATE TABLE 新表名 LIKE 旧表名;

7、判断表是否存在并删除表(了解)  DROP TABLE (IF EXISTS) 表名;

DML:

1、插入全部字段

所有的字段名都写出来

INSERT INTO 表名 (字段名1, 字段名2, 字段名3…) VALUES (值1, 值2, 值3);

不写字段名

INSERT INTO 表名 VALUES (值1, 值2, 值3…);

2、复制表 INSERT INTO 表名1 SELECT * FROM 表名2;

作用:将 表名2 中的数据复制到 表名1 中

3、更新表记录

不带条件修改数据

UPDATE 表名 SET 字段名=值;

带条件修改数据

UPDATE 表名 SET 字段名=值 WHERE 字段名=值;

4、删除表记录

不带条件删除数据 DELETE FROM 表名;

带条件删除数据 DELETE FROM 表名 WHERE 字段名=值;

truncate删除表记录 TRUNCATE TABLE 表名;

DQL:

1、查询表所有数据

使用*表示所有列 SELECT * FROM 表名;

2、查询指定列 SELECT 字段名1, 字段名2... FROM 表名;

3、查询指定列并且结果不出现重复数据 SELECT DISTINCT 字段名 FROM 表名;

4、条件查询 SELECT 字段名 FROM 表名 WHERE 条件;

5、模糊查询 SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串'; MySQL通配符有两个: % : 表示0个或多个字符(任意个字 符) _ : 表示一个字符

6、排序 SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC|DESC]; ASC: 升序, 默认是升序 DESC: 降序

7、分组 相同数据作为一组

SELECT 字段1,字段2... FROM 表名 GROUP BY 分组字段 [HAVING 条件];

8、分页

SELECT *|字段列表 [as 别名] FROM 表名 [WHERE子句] [GROUP BY子句][HAVING子句][ORDER BY子句][LIMIT子句];

多表查询:

1、 内连接

隐式内连接:看不到 JOIN 关键字,条件使用 WHERE 指定

SELECT 字段名 FROM 左表, 右表 WHERE 条件;

显示内连接:使用 INNER JOIN ... ON 语句, 可以省略 INNER

SELECT 字段名 FROM 左表 INNER JOIN 右表 ON 条 件;

2、 外连接

左外连接:使用 LEFT OUTER JOIN ... ON , OUTER 可以省略

SELECT 字段名 FROM 左表 LEFT OUTER JOIN 右表 ON 条件;

用左边表的记录去匹配右边表的记录,如果符合条件的则显示;否则,显示NULL 可以理解为:在内连接的 基础上保证左表的数据全部显示

右外连接:使用 RIGHT OUTER JOIN ... ON , OUTER 可以省略

SELECT 字段名 FROM 左表 RIGHT OUTER JOIN 右表 ON 条件;

用右边表的记录去匹配左边表的记录,如果符合条件的则显示;否则,显示NULL 可以理解为:在内连接的基础上保证右表的数据全部显示

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值