MySQL的基础语法

创建数据库:

create database 数据库名;

create datebase 数据库名 character set 字符集;

查看数据库

show database;

查看某个数据库的定义的信息

show create database 数据库名;

删除数据库

drop database 数据库名称;

切换数据库

use 数据库名;

查看正在使用的数据库

select database();

常用的类型:

数字型:int

浮点数:double

字符型:varchar(可变长字符串)

日期类型:date(只有年月日,没有时分秒)

datetime(年月日时分秒)

创建表

create table 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
);```

单表约束

主键约束:primary key
唯一约束:unique
非空约束:not null
主键约束 = 唯一约束 + 非空约束

查看数据库中的所有表
show tables;
查看表结构
desc 表名
删除表
drop table 表名
修改表
alter table 表名 add 列名 类型(长度) 约束; --修改表添加列.
alter table 表名 modify 列名 类型(长度) 约束; -修改表修改列的类型长度及约束.
alter table 表名 change 旧列名 新列名 类型(长度) 约束; --修改表修改列名.
alter table 表名 drop 列名; - -修改表删除列.
rename table 表名 to 新表名; --修改表名
alter table 表名 character set 字符集; --修改表的字符集

插入:insert
insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..); -- 向表中插入某些列
insert into 表 values (值1,值2,值3..); --向表中插入所有列
insert into 表 (列名1,列名2,列名3..) values select (列名1,列名2,列名3..) from 表
insert into 表 values select * from 表

需要注意的事项:

  1. 列名数与values后面的值的个数相等
  2. 列的顺序与插入的值得顺序一致
  3. 列名的类型与插入的值要一致.
  4. 插入值得时候不能超过最大长度.
  5. 值如果是字符串或者日期需要加引号’’ (一般是单引号)

更新:update
update 表名 set 字段名=值,字段名=值;
update 表名 set 字段名=值,字段名=值 where 条件;

需要注意的事项:

  1. 列名的类型与修改的值要一致.
  2. 修改值得时候不能超过最大长度.
  3. 值如果是字符串或者日期需要加’’.

删除:delete
delete from 表名 where 条件

删除表中所有记录使用【delete from 表名】,还是用【truncate table 表名】?
删除方式:

  • delete :一条一条删除,不清空auto_increment记录数。
  • truncate :直接将表删除,重新建表,auto_increment将置为零,从新开始。

查询:select
select 字段 from 表名 where 条件

where 后面的条件写法:
<,>,=,>=,<=,<>
like 使用占位符 _ 和 % _代表一个字符 %代表任意个字符.
select * from product where pname like ‘%新%’;
in在某个范围中获得值(exists).
select * from product where pid in (2,5,8);

排序:order by
order by 字段名 asc(升序)/desc(降序)

聚合函数:

特点:只对单列进行操作
常用的聚合函数:
sum(): 求某一列的和
avg(): 求某一列的平均值
max(): 求某一列的最大值
min(): 求某一列的最小值
count(): 求某一列的元素个数

分组:group by 字段 having 条件

  1. select语句中的列(非聚合函数列),必须出现在group by子句中
  2. group by子句中的列,不一定要出现在select语句中
  3. 聚合函数只能出现select语句中或者having语句中,一定不能出现在where语句中。

分页:limit

limit 是MySQL特有的语法,oracle–ROWNUM,sqlserver–top

分页分为逻辑分页和物理分页:
逻辑分页:将数据库中的数据查询到内存之后再进行分页。
物理分页:通过LIMIT关键字,直接在数据库中进行分页,最终返回的数据,只是分页后的数据。

子查询

子查询允许把一个查询嵌套在另一个查询当中。
子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。
子查询可以包含普通select可以包括的任何子句,比如:distinct、 group by、order by、limit、 join和union等;
但是对应的外部查询必须是以下语句之一:select、insert、update、delete。

其他查询语句

union 集合的并集(不包含重复记录)
union all 集合的并集(包含重复记录)

多表关联更新、
update 表1 join 表2 on 表1.字段=表2.字段 set 表1.字段=表2.字段
如UPDATE student s JOIN class c ON s.class_id = c.id SET s.class_name=c.name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值