mysql--入门篇

引言

MySQL是一个关系型数据库管理系统由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库

目录

引言

前言

注意mysql是不区分大小写的

数据详情信息

mysql基本函数

字符串函数

数值函数

日期函数

流程函数

约束

启动mysql数据库

1、打开任务管理器,启动mysql服务

方法1:先按WIN+X,再点击任务管理器,后在服务中启动mysql服务。

方法二:同时按Ctrl+Shift+Esc,即可呼出任务管理器,后在服务中启动mysql服务。

方法三:鼠标点击底部任务栏,选择任务管理器即可,后在服务中启动mysql服务。

 ​编辑

方法四:命令提示符界面启动

2、用管理员身份运行命令提示符界面,输入 mysql -u root -p(这里的root是指mysql的用户名),然后回车输入密码即可(如果不用管理员身份可能会因为没有权限显示拒绝访问)。

DDL(数据库操作)

查询所有数据库

查询当前数据库

创建数据库

删除数据库

使用数据库

查询当前数据库所有表

查询表结构

查询指定表的建表语句

在当前数据库下创建表

删除表中字段

修改表名

删除表

删除表,并重建该表。

添加字段

修改字段

删除字段

修改字段名称及类型

DML (数据定义语言)

查询数据

给表添加数据(批量加入)

给指定字段添加数据

修改数据

删除数据

清除数据

只复制表结构到一张新表中

复制表结构及其数据到一张新表中

​编辑

将一张表的数据插入另外一张表中

 查询两张表数据

 将两张表整合为一张新表

DQL (数据查询语言)

取别名

去掉重复记录

分组查询

排序查询

分页查询

 DCL(数据控制语言)

查询用户

创建用户

修改用户密码

删除用户

查看用户的权限

授予权限

撤销权限


前言

注意mysql是不区分大小写的

数据详情信息

mysql基本函数

字符串函数

concat(s1,s2,...,sn)        将s1,s2,...sn拼接成一个字符串。

lower(str)                        将字符串str全部转为小写。

upper(str)                        将字符串str全部转为大写。

lpad(str,n,pad)                左填充,用字符串pad对str进行填充,达到n个长度。

rpad(str,n,pad)                右填充,用字符串pad对str进行填充,达到n个长度。

 trim(str)                          去掉字符串头部和尾部的空格。

substring(str,start,len)    截取str从start位置起的len个长度的字符串。

select                                查询。

数值函数

ceil(x)                                向上取整。

floor(x)                               向下取整。

mod(x,y)                             返回x/y的模。

rand()                                返回0~1内的随机数。

round(x,y)                        求参数x的四舍五入的值,保留y位小数。

日期函数

curdate()                        返回当前日期。

curtime()                        返回当前时间。

now()                             返回当前日期和时间。

year(date)                      获取指定date的年份。

month(date)                   获取指定date的月份。

day(date)                        获取指定date的日期。

datadiff(date1,date2)      返回起始时间date1和结束数据date2之间的天数。

流程函数

if(value,t,f)                        如果value为true,返回t,否则返回f。

ifnull(value1,value2)        如果不为value1,否则返回value2。

case when [val1] then [res1] .... else [default] end;        如果val1为true,返回res1.......,否则返回默认值。

case [expr] when [val1] then [res1] ....else [default] end;        如果expr的值等于val1,返回res1,.....否则返回默认值。

约束

not null                非空

unique                唯一

primary                key()主键

default                默认

check                检查

foreign key          外键

auto_increment         自动增长

启动mysql数据库

1、打开任务管理器,启动mysql服务

方法1:先按WIN+X,再点击任务管理器,后在服务中启动mysql服务。

 

方法二:同时按Ctrl+Shift+Esc,即可呼出任务管理器,后在服务中启动mysql服务。

方法三:鼠标点击底部任务栏,选择任务管理器即可,后在服务中启动mysql服务。

 

方法四:命令提示符界面启动

用管理员身份运行命令提示符界面,输入 net start mysql ,然后回车即可(如果不用管理员身份可能会因为没有权限显示拒绝访问)。

2、用管理员身份运行命令提示符界面,输入 mysql -u root -p(这里的root是指mysql的用户名),然后回车输入密码即可(如果不用管理员身份可能会因为没有权限显示拒绝访问)。

DDL(数据库操作)

查询所有数据库

show databases;

 查询当前数据库

select database();

创建数据库

create database [if not exists] "数据库名称" [default charset "字符集"] [collate "排序规则"];([]里面的操作可以选择写或不写)

这条语句的意思是: 如果mysql不存在数据库名为class的数据库,则mysql创建数据库名class,并设置字符集为utf8排序规则为utf8_general_ci。

删除数据库

drop database [if exists] "数据库名";([]里面的操作可以选择写或不写)

 这条语句的意思是:如果mysql存在数据库名为class的数据库,则删除该数据库,否则不进行任何操作。

使用数据库

use "数据库名";

查询当前数据库所有表

show tables; 

查询表结构

desc "表名";

 

查询指定表的建表语句

show create table "表名";

 在当前数据库下创建表

create table "表名" ("字段1" "字段类型1" [comment 字段注释],

                                "字段2" "字段类型2" [comment 字段注释],

                                "字段3" "字段类型3" [comment 字段注释]);([]里面的操作可以选择写或不写)

删除表中字段

alter table "表名" drop "字段名";

 修改表名

alter table "表名" rename to "新表名";

删除表

drop table "表名";

 

删除表,并重建该表。

truncate table "表名";

添加字段

alter table "表名" add ("新字段名" “新字段类型" [default value][null/not null],….);([]里面的操作可以选择写或不写)

修改字段

alter table "表名" modify  "字段名" “新字段类型" [default value][null/not null],….;([]里面的操作可以选择写或不写)

删除字段

alter table "表名" drop "字段名";

 修改字段名称及类型

alter table "表名" change "字段名称" "新字段名称" "新类型";

DML (数据定义语言

查询数据

select 字段列表1,…. from "表名" [where "条件"];

select * from "表名" where ["条件"];

给表添加数据(批量加入)

insert into "表名" values(值1,值2,….),(值n,值n+1,….),….;

给指定字段添加数据

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

 修改数据

updata "表名" set "字段名1" = "值1" , "字段名2" = "值2",…[where "条件"];([]里面的操作可以选择写或不写)

没加where条件,mysql修改数据时默认把该字段的全部数据改为你想修改的值。 

删除数据

delete from "表名" [where "条件"];([]里面的操作可以选择写或不写)

删除数据时如果没有where条件的限制,mysql会默认删除所有数据。

 清除数据

truncate table "表名";

只复制表结构到一张新表中

create table "新表名" like "原表名";

复制表结构及其数据到一张新表中

create table "新表名" as (select * from "原表名"); 

将一张表的数据插入另外一张表中

insert into "表1"(select * from "表2") ;

 查询两张表数据

select * from "表1","表2" where "表1"."字段名" = "表2"."字段名";

select * from "表1"."字段名","表2"."字段名" where "表1"."字段名" = "表2"."字段名";

  将两张表整合为一张新表

create table "新表名" as (select * from "表1"."字段名","表2"."字段名" where "表1"."字段名" = "表2"."字段名");

DQL (数据查询语言)

取别名

select "字段1" [as "别名1"], "字段2" [as "别名2"],... from "表名"; ([]里面的操作可以选择写或不写)

去掉重复记录

select distinct "字段1","字段2".. from "表名"; 

分组查询

select "字段列表" from "表名" [where "条件"] group by "分组字段" [having "分组后的过滤条件"]; 

 排序查询

select "字段列表" from "表名" order by 字段1 排序方式 , 字段2 排序方式;(asc:升序(默认)、desc:降序)

分页查询

select "字段列表" from "表名" limit "起始索引","查询记录数";

 

 DCL(数据控制语言)

查询用户

use mysql;

select * from mysql;

创建用户

create user "用户名"@"主机名" identified by "密码";(localhost:本主机、%:任意主机)

修改用户密码

set password for "用户名"@"主机名" = password("新密码");

删除用户

drop user "用户名"@"主机名";

 

查看用户的权限

show grants for "用户名"@"主机名";

 

授予权限

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

 

撤销权限

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

mysql_进阶篇上

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

!continue!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值