MySQL学习

这篇博客详细介绍了MySQL的基础语法,包括连接数据库、查询信息、创建与删除数据库及表、数据的增删改查操作。此外,还探讨了内置函数的使用,如聚合函数COUNT、SUM、AVG、MAX、MIN,以及字符串处理函数等。同时,讲解了SQL中的分组查询、子查询和条件查询技巧,并提供了实用的数据库操作示例。
摘要由CSDN通过智能技术生成

一、基础语法

  • 1、从cmd进入mysql数据库,show database显示数据库的库名,use table显示表名。
  • 2、数据库连接:mysql -h127.0.0.1 -P3306 -uroot -proot 【-h (host) -P—端口 -p(密码)】
    或 :mysql -uroot -p
  • 3、在数据库中进行

查询当前数据库版本:select version();
查询当前数据库用户:select user():
查询当前路径:select @@basedir;/// select @@datadir
查询所有数据库:select databases;
选择一个数据库:use +库名
查询当前数据库:select database();
查询表名:show tables;
创建数据库:create database 库名
删除数据库:drop database 库名
查询表结构:desc 表名;
show table in 表名 ;不需要进入数据库查询表

【create table student (id int primary key not null auto_increment,name varchar() ,age int ,sex varchar() ,birthday int);
插入数据:insert into +表名(字段1 )value(); 【set name gbk 将名字输入中文】
删除数据:delete from 表名 where id =1; 【truncate[table] 表名】
修改数据:update 表名 set age = 2 where id =1;
查询数据:select * from 表名;select id age from 表名 where id >1 [id in (1,2,3)];
带 between and 关键字的查询【select * from 表名 where id between 1 and 2】
带distinct 的关键子查询(重复的数据保留一个)【select distinct birthday from 表名】
带LIKE关键子查询【1)select id,name from student where name like" s%" --------查询数据库中name以s开头的人的id,name(c%g----c开头g结尾; %y% ----包含y的字符串,任意位置);
2)select * from 表名 where name like “xa_qiao”;】
带and(or) 关键子查询【select * from student where id <5 and (or)sex=man】(and的优先级大于or)

聚合函数:
【 1. count():统计记录的条数; select count() from 表名
2.sum():返回和;
3.avg():返回平均值
4.max():返回最大值
min():返回最小值】
分组查询:group by单独使用【select * from student group by sex-----按照sex字段进行分组;
与聚合函数一起使用【select count(
) from student group by age;】
order by 关键子查询【select * from student order by age;可以通过来判断列数(select * from student order by 6)】//如果orderc by 不能用,用 group by
having 关键子:【select sum(age),sex from student group by sex having sum(age)<300;】(where不能与聚合函数连用,having可以连用)

对查询结果进行限制数量:
1.用limit限制查询结果的数量 【select * from student limit 1,2 跳过1个取2个(1 offset 2—偏移)//limit 要取的数据数 offset 要跳过的数据条数】
为表取别名:select *from student as s where s.id =1;
为字段取别名:select name as stu_name from student ;
子查询: select name from student where id <(select age from student where name=“sun”)
联合查询:select version () union select user();

二、内置库

  1. 内置库:保存着数据库的信息,例如库名,数据库的表,表栏的数据类型与访问权限等
  2. 相关的表与字段名:

schemata :
1、schema_name–库名

tables:
table_name —表名
table表中有table_schema 、 table_name

columns:
columns_name-----字段/内容
column表中有table_schema(存放库名)、table_name(存放表名) 、 column_name(存放字段名)

mysql相关函数
ascil() /ord() -------将字符转化为ascil值
sleep()---------------网页延迟n秒输出结果
lengh()---------------返回长度
rand()----------------随机函数,返回0~1之间的某个值
floor()---------------获取浮点数的整数部分,返回《=a 且最接近a的一个数
count() -----获取select检测到的非NULL数据的条数,找不到返回0;count(*)不论是否为空都返回
locate()-------------返回字符在字符串中的位置
position()----------返回字符在字符串中的位置
instr()--------------返回字符在字符串中的位置
concat()-----------连接字符串
concat_ws()/group_concat()----连接字符串,一行打印
hex() & unhex()---------进行十六进制编码,可以用来进行编码或反编码
substr()/substring()/mid()/left()------截取字符串的一部分(有时可以用left进行替换)
left()------------进行字符的截取,从左边截取
updatexml()-------更新xml文档【updatexml(目标文档,路径,更新内容)】
extractvalue()---------进行xml文档中按照xpath语法查询节点内容,版本大于5.15
load_file()---------------读取本地文件 用法:select load_file(‘C:/phpstuday/phptutorial/mysql/my.ini’);
into outfile()------------导出文件
exp()/pow()/cot() -------返回自然对数的底的x次方的值,当大于709时溢出
name_const() ---------构造临时列,列名位xxx,值位xxx 【select name_const(‘name’,15)】
strcmp()-------比较两个字符串并根据结果返回整数,等于返回0,str1<str2返回负数,str1>str2返回正数
if(a,b,c)-----a为真,返回b,否则返回c 【select age if((substr(user(),1,1)=‘a’),1,0);】

在这里插入图片描述

在这里插入图片描述

三、SQL中的tips

注释符

–空格
/dasd/
/! / 内敛注释,与版本相关【/!数字(小于版本号)/执行,大于的话不执行】
常见的空格代替符【tab , %a0 ,%20 ,%09 ,%0a ,%0b , %0c ,%0d ,%00 , /**/ ,/!/

===%23

符号:
1、 || ------------链接符 【11||22----------1122】
2、 xor-----------逻辑异或 【有NULL为NULL、同为0,不同为1、对于奇数个非零操作数为1,否则为0】

位运算符(在进行运算时按二进制进行运算):
& -----按位与
| ------按位或
^ ------按位异或
! -----取反
//<< ------左移
//
>> -----右移

四、实验

  1. 进行数据库的连接:

在这里插入图片描述
2.查询当前数据库的库:
在这里插入图片描述
3. 进行数据库的创建:
在这里插入图片描述
4. 进入创建的数据库,创建表:
在这里插入图片描述

  1. 设置中文的输入:

在这里插入图片描述
6. 进行数据的写入:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. 进行数据的删除:
    在这里插入图片描述
  2. 进行数据的修改:
    在这里插入图片描述
  3. 进行数据对齐:
    在这里插入图片描述
  4. 利用其他方式进行数据查询:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  5. 利用聚合函数:
    group by :
    在这里插入图片描述
    在这里插入图片描述
    limit :
    在这里插入图片描述
    offset:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  6. 进行数据库和表的删除:

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值