mysql四大数据库语句_mysql数据库配置及四大语句命令

最近在学习mysql数据库的基础知识,看的是黑马的javaweb的网课,关于mysql的基本命令比较多,在这里记录下来,便于日后学习查询翻阅。

参考:

文章目录

前言

一. mysql的配置

1.1MySQL服务启动

1.2MySQL登录

1.3MySQL退出

二. sql常用命令

2.1sql语句分类

2.2DDL(操作数据库、表)

2.21 **操作数据库:增,删,改,查,用**

2.22 **操作表:增,删,改,查**

2.3DML(表中数据,增删改)

2.3.1增:

2.3.2删:

2.3.3改:

2.4DQL(查询表中数据)

2.4.1基础查询

2.4.2条件查询

2.4.3排序:

2.4.4聚合函数:

2.4.5分组查询:

2.4.6分页查询

2.5.DCL(管理用户,授权)

2.5.1管理用户

2.5.2授权

前言

我们常说的SQL,其英文全称为Structured Query Language(结构化查询语言),同编程语言一样,它定义操作所有关系型数据库的规则。换句话说,关系型数据库使用SQL语言作为其查询语言,但是不同的关系型数据库的SQL语法有些不同之处,如同中国各地的方言有很多种,但总的来说都是中文。

比较流行的数据库如下图:

57513176b4134e9fb49f5980ba0a59af.png

mysql是关系型数据库的一种,我学习的是mysql。这里要知道,在mysql官网www.mysql.com下载的是mysql数据库服务器,安装之后要通过dos界面对数据库进行操作。除此之外还可以安装一个图形化的界面sqlyog来进行操作,就类似编程语言的IDE一样。

另外,在接触mysql基本命令之前,可以先看看mysql安装目录的结构,对其有一个大致认识。这里提一下数据库:文件夹;表:文件;数据:数据。表

一. mysql的配置

1.1MySQL服务启动

安装mysql后,一般来说在电脑中mysql的服务都是自动启动的。除此之外,也可以通过一下三种方式启动:(这一步仅理解就可以,一般在学习的时候用不着,服务都是一直开着的)

1.手动

2. cmd–> services.msc 打开服务的窗口

3. 使用管理员打开cmd

net start mysql : 启动mysql的服务

net stop mysql:关闭mysql服务

e7c608cd7bad306a8d3775a35f62d378.png

1.2MySQL登录

mysql -u用户名 -p密码 (密码可见)

mysql -hip -uroot -p (回车)输入密码 (密码不可见)

mysql --host=ip --user=root --password=连接目标的密码

1.3MySQL退出

exit

quit

二. sql常用命令

2.1sql语句分类

DDL(Data Definition Language)数据定义语言:故名思意,是对逻辑结构进行相关操作,其对象为:数据库,表,列等。关键字为:create,drop,alter等。

DML(Data Manipulation Language)数据操作语言:同理,是对数据库的表中的数据的增删改操作。关键字:insert, delete, update 等。

DQL(Data Query Language)数据查询语言:用来查询数据库中表的记录(数据)。关键字:select, where 等。

DCL(Data Control Language)数据控制语言(了解):用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等。

2.2DDL(操作数据库、表)

2.21 操作数据库:增,删,改,查,用

增:

create database 数据库名称;

create database if not exists 数据库名称;

create database 数据库名称 character set 字符集名。

删:

drop database 数据库名称;

drop database if exists 数据库名称;

改:

alter database 数据库名称 character set 字符集名称

仅修改名称:

查:

show databases;//查所有的数据库

show create database 数据库名称;//查某个数据库的字符集等。

用:

use 数据库名称;//使用数据库

select database();//查询当前正在使用的数据库名称,这条比较特殊。

2.22 操作表:增,删,改,查

增:

create table 表名(列名1 数据类型1,…,列名n 数据类型n);

数据类型:9ed01c326bc68e1016e80c13a5cef0ab.png

create table 表名 like 被复制的表名;//复制表

删:

drop table 表名;

drop table if exists 表名 ;

改:

alter table 表名 rename to 新的表名;

alter table 表名 character set 字符集名称;

alter table 表名 add 列名 数据类型;//添加一列

alter table 表名 change 列名 新列别 新数据类型;

alter table 表名 modify 列名 新数据类型;

alter table 表名 drop 列名;

查:(注意这里不是查询表中的记录,对比2.4节)

show tables;//查询某数据库所有表名称。

desc 表名;//查询表结构

2.3DML(表中数据,增删改)

2.3.1增:

insert into 表名(列名1,列名2,…列名n) values(值1,值2,…值n);//注意一一对应

2.3.2删:

delete from 表名 [where 条件]

如果不加条件,则删除表中所有记录。想要删除所有记录,推荐使用 TRUNCATE TABLE 表名。效率更高 先删除表,然后再创建一张一样的表。

2.3.3改:

update 表名 set 列名1 = 值1, 列名2 = 值2,… [where 条件];

2.4DQL(查询表中数据)

select * from 表名;     //这里才是查询表中数据。

语法结构如下:

fa4d69787d72fca310cd58a600e0ff3c.png

2.4.1基础查询

select 字段名1,字段名2… from 表名;//查询所有字段,可以使用*来替代字段列表。

select distinct 字段 from 表名 //去除重复的结果集

计算列 :SELECT name ,math,english,math+english FROM person;

as:可省略

2.4.2条件查询

where 条件;运算符:

>  =  <=

BETWEEN…AND //在…之间

IN( 集合)

LIKE:模糊查询。_:单个任意字符。%:多个任意字符。

and 或 &&  or 或 ||   not 或 !

IS NULL

2.4.3排序:

order by

select * from 表名 order by 排序字段1 排序方式1,…, 排序字段n 排序方式n;   //排序查询,ASC:升序默认,DESC:降序。前面的条件优先。

2.4.4聚合函数:

以列为整体 ,进行相关计算。常用的有:count,max,min,sum,avg。

select count(列名) from 表名;排除null值

select count(ifnull(列名,替换表达式)) from 表名;不排除null值。

2.4.5分组查询:

group by 分组字段和聚合函数。

SELECT sex ,AVG(math),COUNT(id) FROM person GROUP BY sex;

想要加入分组限制条件,即不满足条件的不参加分组的话:

SELECT sex ,AVG(math),COUNT(id) FROM person WHERE math>30 GROUP BY sex HAVING COUNT(id)>2;

where 在分组之前限制,不满足则不参加分组,having在分组后限制,不满足则不被查询出来。where不能跟聚合函数,having可以。

as(别名):as也可以省略,可在聚合函数后面起别名,方便观看:SELECT sex ,AVG(math),COUNT(id) 人数 FROM person WHERE math>30 GROUP BY sex HAVING 人数>2;

2.4.6分页查询

语法:limit 开始的索引,每页查询的条数;limit是mysql的方言。

类似百度搜索,一页包含10(瞎说的)个结果,可以点下一页翻页。

select * from 表名 limit 0,3; //第一页

select * from 表名 limit 3,3; //第二页

公式:开始的索引=(当前页码-1)*每页显示的条数,例如百度,每页显示的条数和页码都是给定的,需要计算的就是开始的索引。

2.5.DCL(管理用户,授权)

2.5.1管理用户

查询用户:1.切换到mysql用户;2.查询user表:select * from user;(通配符:%表示可以在任意主机使用改用户登录数据库,localhost表示当前主机)

创建用户: CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’;

删除用户:drop user ‘用户名’@‘主机名’;

修改用户密码:update user set password = password(‘新密码’) where user = ‘用户名’;

或:set password for ‘用户名’@‘主机名’ = password(‘新密码’);//这里的password函数用来加密。

2.5.2授权

查询权限:show grants for ‘用户名’@‘主机名’;//usage:表示登录权限;

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

授予所有权限:grant all on *.* to '用户名'@'主机名';

撤销权限:rework 权限列表 on 数据库名.表名 from ‘用户名’@‘主机名’;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值