MYSQL基本语法

一、DDL

(Data Definition Language):数据定义语言,用来定义数据库对象,库、表、列等;创建、删除、修改:库,表结构;

1、DDL -数据库操作

show databases;  查看当前有哪些数据库

create database 数据库名; 创建数据库

use 数据库名; 使用数据库

select database();  查看当前位于哪个数据库

drop database 数据库名;   删除数据

2、DDL-表操作

show tables;  查看当前数据库所有的表

create table 表名(字段 字段类型,字段 字段类型);  创建表

    如:create table employee(id int comment '编号',name varchar(50) comment '姓名',
           age int comment '年龄');

desc 表名;  查看当前表有哪些字段

show create table 表名;  查看这张表的建表语句

alter table 表名 add/modify/change/drop/rename to...;  修改表

drop table 表名;删除表

二、DML

(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。

1.添加数据

insert into 表名(字段1,字段2...) values (值1,值2...);

2.修改数据

update 表名 set 字段1=值1,字段2=值2[where 条件];

3.删除数据

delete from 表名 [where 条件];

三、DQL

(Data QueryLanguage) 数据查询语言:是一种用于从数据库中检索数据的语言。

select 字段列表 , 字段名[as]别名

from  表名

where 条件列表, and or > < = like between ..and in

group by 分组字段列表,

having 分组后条件列表 ,分组之后过滤

order by 排序字段列表,升序asc,降序desc

limit 分页参数,起始索引(从0开始),每页展示多少条记录

四、DCL

(Data Control Language)语句数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。

1.用户管理

create user '用户名'@'主机名' identified by '密码'; 创建用户密码

alter user '用户名'@'主机名' identified with mysql_native_password by '密码'; 修改用户密码

drop user '用户名'@'主机名'; 删除用户密码

2.权限控制

grant 权限列表 on 数据库名 表名 to '用户名'@'主机名';  授权

revoke 权限列表 on 数据库名 表名 from '用户名'@'主机名';  撤销授权

五、函数

1.字符串函数

concat 字符串拼接

lower 将字符串全部转换为小写

upper 将字符串全部转换为大写

lpad 在字符串左边填充

rpad 右填充

trim 去除左右两侧空格

substring 截取字符串

2.数值函数

ceil 向上取整

floor 向下取整

mod 求模

rand 随机数(0-1之间的随机数)

round 四舍五入

3.日期函数

curdate 获取当前日期

curtime 获取当前时间

now 获取当前日期+时间

year、month、day

date_add 添加时间周期

datediff 两个日期相减差多少时间,第一个日期-第二个日期

4.流程函数

if 判断第一个表达式是否为true,如果为true 返回第二个参数,否则返回第三个参数

ifnull  判断第一个参数是否为null,如果为null 取二一个参数

case[...] when[...] then ... else ... end  条件分支的判断

六、约束

1.非空约束 NOT NULL

2.唯一约束 UNIQUE

3.主键约束 PRIMARY KEY

4.默认约束 DEFAULT

5.检查约束 CHECK

6.外键约束 FOREIGN KEY

七、多表查询

  1.连接查询

                内连接:相当于查询A、B交集部分数据。

                        隐式内连接:select...from 表a,表b where 条件...

                        显式内连接:   select...from 表a  inner join 表b  on 条件...

                外连接:

                        左外连接:查询左表所有数据,以及两张表交集部分数据。

                                         select...from 表a  left [outer] join  表b  on 条件...

                        右外连接:查询右表所有数据,以及两张表交集部分数据。

                                          select...from 表a   right join  表b  on 条件...

                自连接:当前表与自身的连接查询,自连接必须使用表别名。

                              select...from 表a  别名1,表a  别名2  where 条件...

                联合查询:union查询,把多次查询的结果合并起来,形成一个新的查询结果集。union all会将全部的数据直接合并在一起,union会对合并之后的数据去重。


2.子查询

sql语句中嵌套select语句,称为嵌套查询,又称子查询。

                        标量子查询:子查询结果为单个值,常用操作符:><=

                        列子查询:子查询结果为一列,常用操作符:IN、NOT IN、ANY、SOME、ALL

                        行子查询:子查询结果为一行,常用操作符:=、<>、IN、NOT IN

                        表子查询:子查询结果为多行多列,常用操作符:IN

八、事务

1.事务简介

事务是一组操作的集合,这些操作要么同时成功,要么全部失败。

2.事务操作

start transaction;开启事务

commit;提交事务

rollback;回滚事务

3.事务四大特性(ACID):

        原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全失败。

        一致性(Consistency):所有数据保持一致状态。

        隔离性(Isolation):保证事务在不受外部并发操作影响的独立环境下运行。

        持久性(Durability):事务一旦提交或回滚,对数据库中的数据的改变就是永久的。

4.并发事务问题

脏读、不可重复读、幻读

5.事务隔离级别--解决事务并发问题

read uncommitted、read committed、repeatable read、serializable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值