MySQL入门语法

本文详细介绍了MySQL数据库的基础概念、SQL语法、DDL(数据定义语言)如创建和修改表结构、DML(数据操纵语言)如添加和修改数据,以及DQL(数据查询语言)的常用查询技巧和DCL(数据控制语言)中的用户管理和权限控制。
摘要由CSDN通过智能技术生成

Mysql

数据库

打开:mysql -u root -p

关系型数据库

​ 概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库

​ 特点:

			1. 使用表存储数据,格式统一,便于维护。
			1. 使用SQL语言操作,标准统一,使用方便。

SQL语法

通用语法:

1.SQL语句可以单行或多行书写,以分号结尾

2.SQL语句可以使用空格/缩进来增强语句的可读性

3.mysql数据库的SQL语句不区分大小写,关键字建议使用大写.

4.注释 单行 :–注释内容或#注释内容(mysql特有)

​ 多行 :/*注释内容*/

SQL分类:

image-20240108192521759

DDL

查询
   查询所有数据库
   SHOW DATABASE;
   查询当前数据库
   SELECT DATABASE();
   
创建
	CREATA DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET字符集][COLLATE 排序规则];  
	字符集建议utf8mb4
删除
	DROP DATABASE[IF EXISTS]数据库名;
	
使用
    USE 数据库名;
DDL-表结构-查询
查询当前数据库所有表
show tables;
查询表结构
desc 表名;
查询指定表的建表语句
show create table 表名;
DDL-表操作-创建
create table 表名(
    字段1 字段1类型[COMMENT 字段1注释],
   字段2 字段2类型[COMMENT 字段2注释]

)[COMMENT 表注释];

image-20240108192550862

数值类型

image-20240107151403868

age TINYINT UNSLGNED;无符号类型 unsigned

age TINYINT SLGNED ; 有符号类型 signed

字符串类型

image-20240107151551336

char(x)和varchar(x)都要带参数,表示存储字符串的个数

char()性能好 gander char(1)

varchar()性能差 name varchar(10); 定长用char,不定长用varchar

日期类型

image-20240107152239395

DDL-表操作-修改
添加字段
alter table 表名 add 字段名 类型(长度)[comment 注释];
修改数据类型
alter table 表名 modify 字段名 新数据类型(长度)
修改字段名和字段类型
alter 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束];
修改表名
alter table rename to 表名
DDL-表操作-删除
删除字段
alter table 表名 drop 字段名;
删除表
drop table[if exists] 表名;
删除指定表,并重新创建该表
truncate table 表名

DML

DML-添加数据
给指定字段添加数据
insert into 表名(字段1,字段2...)values(值1,值2,...);
给全部字段添加数据
insert into表名 values(值1,值2,...);
批量添加数据
insert into 表名(字段名1,字段名2,...) values(值1,值2,...),(值1,值2,...),(值1,值2,...);

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

注意:

插入数据时,指定字段顺序需要与值的顺序一一对应。

字符串和日期型的数据应该包含在引号中

输入的数据大小,应该在字段的规定范围内。

DML-修改数据
update 表名 set 字段名1=值1,字段2=值2,...[where 条件];
DML-删除数据
delete from 字段 where 条件

注意:

*delete 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据

*delete 语句不能删除每一个字段的值(可以使用update)

DQL

DQL-语法
select
     字段列表
from  
      表名列表
      
where 
       条件列表
      
group by
        分组字段列表
having
        分组后条件列表
        
order by
         排序字段列表
         
limlt
       分页参数
DQL-基本查询
查询多个字段
select 字段1,字段2.....from 表名;
select * from 表名;(查询返回所有字段)

设置别名
select 字段1 [as 别名1],字段2 [as 别名2] ... from 表名;

去除重复记录
select distinct 字段列表 from 表名;
DQL-条件查询(where)
语法
select 字段列表 from 表名 where 条件列表;

image-20240117213616515

'–'两个字符,‘%x’最后一个字符为x;

DQL-聚合函数

含义:将一列数据作为一个整体,进行纵向计算。

image-20240117215749842

语法
select 聚合函数(字段列表) from 表名 [where...];

注意:null值不参与所有

DQL-分组查询
语法
select 字段列表 from 表名[where 条件 ] group by 分组字段名[having 分组后过滤条件]

image-20240117221047389

注意:执行顺序:where>聚合函数>having.

分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

DQL-排序查询
语法
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;

排序方式
asc:升序(默认)
desc:降序

注意:如果是多字段排序,当第一个字段值相同是,才会根据第二个字段进行排序
DQL-分页查询
语法
select 字段列表 from 表名 limit 起始索引,查询记录数;

注意
起始索引从0开始,起始索引 = (查询页码 - 1) * 每页显示记录数

分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT

如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。

DQL-查询顺序

image-20240119203234662

DCL

DCL-管理用户
查询用户
use mysql;
select * from user;

创建用户
crate user '用户名'@'主机名' identified by '密码';
主机名为%时,意思是在任意主机上访问

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

删除用户
drop user '用户名'@'主机名';
DCL-权限控制

image-20240120205326969

查询权限
show grants for '用户名'@'主机名';

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

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

注意

多个权限之间,使用逗号分隔

授权时,数据库名和表名可以使用*进行通配,代表所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值