mysql limit用法_MySQL ------ MySQL常用语句的语法 (三十二)

MySQL常用的语句语法

注意: 

1、 |  符号用来指出几个选中中的一个,因此NULL | NOT NULL 表示给出null 或 not null
2、包含在方括号中的关键字或子句是可选的(如 [like this])
3、既没有列出所有的MySQL语句,也没有列出每一条子句和选项
4、大写的表示 MySQL语法关键字

一、命令行指令:

1、启动MySQL

net 

2、连接与断开服务器

mysql 

二、数据库操作

1、查看当前数据库

select 

2、显示当前时间、用户名,数据库版本

select 

3、创建库

create 

其中数据库选项有

-- 选择字符集

4、查看已有库

show 

5、查看当前库信息

show 

6、修改库的选项信息

alter 

7、删除库

drop 

三、表操作

1、CREATE TABLE

create table 用于创建新数据库表,更新已存在的表结构使用 alter table ,constraints 表示约束

CREATE 

相对复杂的

create 

其中 temporary 表示临时表,会话结束时表自动消失

注意:

a、每个字段必须要有数据类型,最后一个字段后不能有逗号

b、对于字段的定义:

字段名 

c、表选项:

字符集

CHARSET = charset_name

如果表没设定,使用数据库字符集

存储引擎

ENGINE = engine_name

表在管理数据时,往往采用不同的数据结构,结构不同会导致处理方式、提供特性操作等也不同

常见的存储引擎:InnDB、MyISAM、Memory/Heap、BDB、Merge、Example、CSV、MaxDB、Archive

不同的存储引擎在保存表的结构和数据时常采用不同的方式

MyISAM 表文件含义: .frm 表定义, .MYD 表数据, .MYI 表索引

InnoDB 表文件含义: .frm 表定义、表空间数据和日志文件

-- 显示存储引擎的状态信息 

2、查看所有表

SHOW 

3、查看表结构

SHOW 

4、ALTER TABLE

alter table 用来更新已存在表的模式,为了创建新表,应该使用create table,constrains 表示约束

ALTER 

a、修改表本身选项

ALTER 

b、对表进行重命名

RENAME  

c、修改表的字段结构

ALTER 

有如下操作名

-- 增加字段

5、删除表

DROP 

6、清空表数据

TRUNCATE 

7、复制表结构

CREATE 

8、复制表结构和数据

CREATE 

四、数据操作

1、INSERT

insert 给表增加一行,或多行

INSERT 

insert select 插入select 的结果到一个表

INSERT 

注意:

如果要插入的值列表包含所有字段并且顺序一致,则可以省略字段列表,

可以同时插入多条记录

字段列表可以用 “*”代替表示所有字段

2、DELETE

delete 从表中删除一行或多行

DELETE 

没有条件子句,会删除所有数据

3、UPDATE

update 更新表中一行或多行

UPDATE 

五、字符集编码

MySQL,数据库,表,字段均可设置编码

-- 数据编码与客户端编码不需一致

注意:

--  设置编码

六、查询语句

1、SELECT

select用于从一个或多个表(视图)中 检索数据

SELECT 

详解:

select 

其中

1.1、select_expr

a、计算公式、函数调用、字段也是表达式

如: 

b、使用as 关键字为每个列设定别名,适用于简化列标识,避免多个列标识符重复。

如: 

1.2、 from 子句

用于标识查询来源

a、使用 as 关键字为表起别名

b、from 子句后可以同时出现多个表。多个表会横向叠加到一起,而数据会形成一个笛卡尔积

就是下面的意思

3e5466da32b3cd0d0cc453a72497e3b3.png
如: 

c、where 子句

用于从from 中获得的数据源中进行筛选。1为真,0为假,表达式由运算符和运算数组成

d、group by子句

group by 字段/ 别名 [排序方式]

分组后会进行排序,升序:ASC,降序 DESC

e、having 子句(条件子句)

与where 功能、用法相同、只是执行时机不同。where在开始时执行数据检测,对原数据进行过滤。having 对筛选出的结果进行再次过滤,where 不可以使用聚合函数。一般需要用到聚合函数才会用having。SQL 标准要求having子句必须引用group by 子句中的列或用于聚合函数中的列。

f、order by 子句(排序子句)

--  支持对多个字段排序,升序ASC ,降序 DESC 

g、limit 子句(限制结果集 子句)

仅对处理好的结果进行数量限制。将处理好的结果看作是一个集合,按照记录的现后顺序,索引从 0 开始

-- limit 获取条数 其中,省略第一个参数,表示索引从 0 开始。

h、distinct 选项

用于去除重复记录

2、多表联结查询

2.1、UNION

建议对每个select查询加上小括号。需要各select 查询的字段数量一样,即每个select 查询的字段列表(数量、类型)应一致,因为结果中的字段名以第一条select 语句为准。

-- 将多个select 查询的结果组合成一个结果集合 select ...union [ALL | DISTINCT] selelct ...

默认为distinct 方式,即所有返回的行都是唯一的。

2.2、子查询(需要用括号括起来)

a、from

from 后要求是一个表,必须给子查询结果取个别名,以简化每个查询内的条件。

如: 

b、where

子查询返回一个值,不需要给子查询取别名

如: 

c、列子查询

使用in 或 not in 子查询,查询结果返回单列

使用exists 和 not exists条件,返回1或0 ,常用于判断

如: 

2.3、join 连接查询

将多个表的字段进行连接,可以指定连接条件。

a、内连接(inner join)

默认就是内连接,可省略inner。

只有数据存在时才能发送连接请求,即连接结果不能出现空行。

ON 表示连接条件,其条件表达式与 where 类似。

b、交叉连接(cross join)

没有条件的内连接。

如: 

c、外连接(outer join)

如果数据不存在,也会出现在连接的结果中。

主要分为:左外连接和右外连接

左外连接(left outer join): 如果数据不存在,左表记录会出现,而右表以null 填充

右外连接(right outer join):如果数据不存在,右表记录会出现,而左表以null 填充

七、其他常用语句

1、CREATE INDEX

create index 用于在一个或多个列上创建索引

CREATE 

2、CREATE PROCEDURE

create procedure 用于创建存储过程,常和delimiter一块用,parameters 表示参数列表

CREATE 

3、CREATE USER

create user 用于向系统中添加新的用户账号

CREATE 

4、CREATE VIEW

create view 用来创建一个或多个表上的新视图

CREATE 

5、DROP

drop 永久地删除数据库对象(表、视图、索引、存储过程,触发器,用户等)

DROP 

6、事务

6.1、COMMIT

commit 用来将事务处理写到数据库

COMMIT 

6.2、ROLLBACK

rollback 用于撤销一个事务处理块

ROLLBACK 

6.3、SAVEPOINT

savepoint 为使用rollback 语句设立保留点

SAVEPOINT 

6.4、START TRANSACTION

start transaction 表示一个新的事务处理开始

START 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值