mysql基础语法_曾佳豪
一、建库、建表、数据类型
1.建库
create database if not exists 库名 default charset utf8;
2.建表
create table if not exists 表名(字段名 数据类型,字段名 数据类型);
3.数据类型
整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIGINT
浮点数类型:FLOAT、DOUBLE、DECIMAL
字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB
日期类型:Date、DateTime、TimeStamp、Time、Year
其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等
二、增删改查
1.增
insert into 表名(字段名,字段名)values(“内容”,内容);
2.删
2.1删库
drop database 库名 ;
2.2删表
drop table 表名;
2.3删除指定数据
delete from 表名 where 字段名=" ";
3.改
update 表名 set 修改字段名="修改内容" where 字段名=" ";
4.查
select * from 表名;
三、表关联查询
1.websites表数据如下:
2.access_log表数据如下
1.内连接(inner join ... on)
SELECT * FROM 表1 别名 INNER JOIN 表2 别名 ON 别名.字段名=别名.字段名;
例如:
查询结果:
2.左连接 (left join ... on)
SELECT * FROM 表1 别名 LEFT JOIN 表2 别名 ON 别名.字段名=别名.字段名;
例如:
查询结果:
3.右链接(right join ... on)
SELECT * FROM 表1 别名 RIGHT JOIN 表2 别名 ON 别名.字段名=别名.字段名;
例如:
查询结果:
4.全连接 (union关键字)
SELECT * FROM 表1 别名 LEFT JOIN 表2 别名 ON 别名.字段名=别名.字段名;
UNION
SELECT * FROM 表1 别名 RIGHT JOIN 表2 别名 ON 别名.字段名=别名.字段名;
例子:
查询结果:
四、子查询
MySQL子查询是嵌套在另一个查询 (如 SELECT , INSERT , UPDATE 或 DELETE )中的查询。
1.子查询,单值(子查询语句的结果为单个值)
是指子查询返回的是单一值的标量,如一个数字或一个字符串,也是子查询中最简单的返回形式。 可以使用 = > < >= <= <> 这些操作符对子查询的标量结果进行比较,通常子查询的位置在比较式的右侧
SELECT * FROM emp WHERE salary >=( SELECT salary FROM emp WHERE emp_name="曹光思" ); #查询工资大于张国建的员工信息 SELECT * FROM emp WHERE dept_id =(SELECT dept_id FROM emp WHERE emp_name="Tom") AND salary >=(SELECT salary FROM emp WHERE emp_name="张建国");
#查询与tom相同部门并且工资大于张国建的员工信息
2.子查询,多值(子查询语句的结果为多个值)
(1). N 行一列
指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回,可以使用 IN、ANY、SOME 和 ALL 操作符,不能直接使用 = > < >= <= <> 这些比较标量结果的操作符。
SELECT * FROM emp WHERE dept_id IN(SELECT dept_id FROM emp WHERE emp_name LIKE "孙%"); #查询姓孙的员工的员工信息(因为子查询中姓孙员工可能存在多个部门,所以使用“in”关键字)
(2).一行N列
指子查询返回的结果集是一行 N 列,该子查询的结果通常是对表的某行数据进行查询而返回的结果集。
3.子查询,中间表
SELECT * FROM (SELECT * FROM emp WHERE dept_id>2 AND salary>5000) e;
#结果 e 可在多表查询中使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构