MySQL的基本语句

数据库:能够存储数据的仓库,可以永久存储

mysql>show databases;   -- 查询当前所有的数据库名称

sql语句:DDL语句、DML语句、DQL语句

DDL语句:数据库定义语句:创建数据库、修改数据库、查询数据库、创建表、删除表、修改表、查询表

create database 数据库名;  -- 创建数据库
create database if not exists 数据库名; -- 如果不存在该数据库名称,创建一个新的数据库
show create database 数据库名;  -- 查看当前创建数据库的字符集
alter database 数据库名称 default character set gbk; -- 修改数据库默认的字符集
drop database 数据库名; -- 删除数据库
drop database if exists 数据库名; -- 如果存在数据库,删除该数据库
show variables like '%characters%';  -- 默认查询
-- 创建表的格式
create table 表名(
	列名1	字段类型1,
	列名2	字段类型2,
	列名3	字段类型3,
	......
	列名n	字段类型n
);
show tables;  -- 查看数据库存在哪些表
desc 表名;  -- 查看当前表的结果
alter table 表名 add 列名 字段类型;  -- 修改表
alter table 表名 change 旧列名 新列名 字段类型; -- 修改表中字段的名称
alter table 表名 modify 列名称 字段类型; -- 修改表中的字段类型
alter table 当前表名 rename to 新的表名; -- 修改表名
alter table 表名 drop 列名; -- 删除表中某一列
drop table 表名; --删除表
create table 新表名 like 其他表名;  -- 复制表

DML语句:操作表中记录:delete、create、update

-- 给表中插入数据
-- 默认全部插入数据
insert into 表名(列名1,列名2,....列名n) values(1,2,3,.....值n);
-- 部分插入
insert into 表名(列名1,列名2) values (1,2);
-- 修改表中记录
update 表名 set 字段名称 =;  -- 批量修改,不推荐
update 表名 set 字段名称 =where 条件语句; -- 带条件修改
-- 删除数据
delete from 表名; -- 删除全表数据
delete from 表名 where 条件;  -- 带条件删除数据

DQL语句:查询语句:基本查询、条件查询、模糊查询、排序查询、聚合函数、分页查询、分组查询

-- 基本查询
select * from 表名; -- 查询所有字段
select 查询字段1,查询字段2,.... from 表名;  -- 查询某些字段
-- where条件查询:基本where语句查询
运算符号:<,>,<=,>=,=
逻辑符号:!=,<>(不等于)
并列关系:&&,and
between 条件1 and 条件2
或的关系:||,or
in(集合)
is null:某个字段为空
is not null:不为空
-- 带模糊条件的查询
关键字:like
select 字段名称 from 表名 where 字段名称 like '占位符号';
占位符号:%:包含的字符,包含多个字符,可以代表任意字符
		 -:代表单个字符
-- 聚合函数
count:统计表的总记录数
sum(列名):求和函数
max(列名):求最大值
min(列名):求最小值
avg(列名):平均分
-- 排序查询:order by
select 字段名称 from 表名 order by 字段名称 排序方式;
asc:升序(默认按照升序排序)  ;  desc:降序
-- 分组排序:group by  
查询的字段:分组的字段,不能是聚合函数
-- 筛选:having
having后面可以使用聚合函数
分页查询:
limit 起始行数(当前索引:0开始),每页显示的条数
起始行数=(当前页码数-1*每页显示的条数
多表查询:查询多个表中多个字段
笛卡尔乘积、内连接、外连接、子查询
1)笛卡尔乘积:A表中所有记录*B表中所有记录(字段冗余)
解决笛卡尔乘积:1)查询哪些表;
			   2)查询这些表中的哪些字段;
			   3)这多个表的连接条件(外键)
2)内连接:隐式内连接、显示内连接
		(1)隐式内连接:基本的where语句 连接条件
		(2)显示内连接:select xxx from 表名1 inner(可以省略) join 表名2 on 连接条件
3)外连接:左外连接、右外连接
	(1)左外连接:将左表中的数据全部显示,以及和右表产生的交集数据
	select 
		字段名称1,
		字段名称2......
		from 左表名 left outer(省略) join 右表名
		on 连接条件(交集数据)
	(2)右外连接:将右表中的数据全部显示,以及和左表产生的交集数据
	select 
		字段名称1,
		字段名称2......
		from 右表名 right outer(省略) join 左表名
		on 连接条件(交集数据)
4)子查询
单行单列:利用运算符:<=,>=,=,...
多行单列:并集 in(1,2,.....)
多行多列:将一个表中查询的数据当作虚表,查询嵌套查询
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值