MySQL的库表操作和普通查询

举报
共饮一杯无 发表于 2022/09/29 09:23:03 2022/09/29
【摘要】 连接数据库mysql -uroot -proot 查看所有数据库show databases; 创建数据库并设置字符集和排序规则create database zjq CHARACTER SET ‘utf8mb4’ COLLATE utf8_chinese_ci; 使用数据库use zjq; 查看当前数据库中的表show tables; 删除数据库drop database zjq; 查...

连接数据库

mysql -uroot -proot

查看所有数据库

show databases;

创建数据库并设置字符集和排序规则

create database zjq CHARACTER SET ‘utf8mb4’ COLLATE utf8_chinese_ci;

使用数据库

use zjq;

查看当前数据库中的表

show tables;

删除数据库

drop database zjq;

查看表结构

desc dept;

查看表中的数据

select * from emp;

查看mysql的版本号

select version();

查看建表语句

show create table emp;

between and(左闭右开)

select ename from emp where ename between ‘A’ and ‘C’;
会查出来A和B开头的不会查出来C开头的

排序查询

select ename,sal from emp order by sal;
默认为升序(asc),降序如下:
select ename,sal from emp order by sal desc;
按照工资的降序排列,当工资相同的时候再按照名字的升序排列。
select ename,sal from emp order by sal desc,ename asc;
注意:越靠前的字段越能起到主导作用。只有当前面的字段无法完成排序的时候,才会启用后面的字段。

分组函数

count 计数
sum 求和
avg 平均值
max 最大值
min 最小值
PS:所有的分组函数都是对“某一组”数据进行操作的。
分组函数也能组合起来使用:
select count(*),sum(sal),avg(sal),max(sal) from emp;

单行处理函数 ifnull

select ename,ifnull(comm,0) as comm from emp;

group by和having区别

具体见这篇文章:group by和having区别

SQL语句执行顺序

具体见这篇文章:SQL语句执行顺序是什么样的呢

查询结果集去重

select distinct job from emp;
注意:distinct 只能出现在所有字段的最前面

创建表

语法格式:
create table 表名(
字段名1 数据类型
字段名2 数据类型
字段名3 数据类型

);

char和varchar怎么选择?
在实际的开发中,当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别、生日等都是采用char。
当一个字段的数据长度不确定,例如:简介、姓名等都是采用varchar。

insert语句插入数据

语法格式:
insert into 表名(字段名1,字段名2,字段名3…)values(值1,值2,值3)

要求:字段的数量和值的数量相同 ,并且数据类型要对应相同 ,只要能对应上,顺序无所谓。

插入多行数据

INSERT INTO roles (uid,rid) VALUES
(534,14),(535,14),(536,14),(537,14),(539,14);

通过Insert select 语句将现有的表的数据添加到已存在的表中

语法:
Insert into<新的表名>(列名)
select<列名>
from<旧的表名>

表的复制

create table 表名 as select 语句;
将查询结果当做表创建出来。

将查询结果插入到一张表中(表中的数据要对应)

insert into dept select* from dept;

update 修改数据

update 表名 set 字段名1=值1,字段名2=值2 where 条件;
注意:没有条件整张表数据全部更新。

delete 删除数据

delete from 表名 where 条件;
注意:没有条件全部删除。

DQL DML DDL和DCL是怎么区分和定义的

具体见这篇文章:SQL中的DQL DML DDL和DCL是怎么区分和定义的

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。