挨踢小子MySQL基本操作手册

一、库操作

查看:

-- 展示所有数据库
SHOW DATABASES;

-- 查看表结构
desc table_name;

-- 查看生成表的SQL
show create table table_name;

创建:

//创建数据库涉及字符集、排序规则知识,后续介绍

CREATE DATABASE 数据库名;

CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

使用:

USE 数据库名;

注意:
使用之后不能对其他数据库以及其他的数据中的数据表操作,只能对自身数据库操作
提示:
可以使用 SHOW DATABASES 返回到根目录下 进行对其他数据库的操作

删除:

DROP DATABASE 数据库名;
二、表操作

查看:

//查看当前数据库下所有表名
show tables;

//查看表所有内容
select * from 表名;             

创建:

命令:
CREATE TABLE table_name (column_name column_type);

案例:
CREATE TABLE `sys_role` (
  `role_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '角色ID',
  `role_name` varchar(30) NOT NULL COMMENT '角色名称',
  `role_key` varchar(100) NOT NULL COMMENT '角色权限字符串',
  `role_sort` int(4) NOT NULL COMMENT '显示顺序',
  `data_scope` char(1) DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限)',
  `status` char(1) NOT NULL COMMENT '角色状态(0正常 1停用)',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='角色信息表';

删除:

// 删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
drop table 表名

清空:

//删除内容、释放空间但不删除定义,也就是数据表的结构还在。与drop不同的是,它只是清空表数据而已,它比较温柔。
truncate table 表名

//删除内容不删除定义,不释放空间。其中,delete table tb 虽然也是删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低)。
delete from 表名

修改:

添加列:   alter table 表名 add 列名 类型
删除列:   alter table 表名 drop column 列名

修改列:
alter table 表名 modify column 列名 类型;  -- 类型
alter table 表名 change 原列名 新列名 类型; -- 列名,类型
三、表内容操作

增加:

命令:
insert into 表 (列名,列名...) values (值,值,...)
insert into 表 (列名,列名...) values (值,值,...),(值,值,值...)
insert into 表 (列名,列名...) select (列名,列名...) from 表

案例:
insert into tab1(name,email) values('Aiti','aitixiaozi@163.com')

删除:

delete from 表                                      # 删除表里全部数据

delete from 表 where id=1 and name='Aiti'   # 删除ID =1 和name='Aiti' 那一行数据

修改:

update 表 set name = 'Aiti' where id>1

查看:

select * from 表
select * from 表 where id > 1
select id,name,sex from 表 where id > 1
四、复合条件语句

1、条件判断where

select * from 表 where id > 1 and name != 'Aiti' and num = 10;
select * from 表 where id between 10 and 200;
select * from 表 where id in (100,200,300)
select * from 表 where id not in (100,200,300)
select * from 表 where id in (select uid from 表)

2、通配符like

// Liu开头的所有(多个字符串)
select * from 表 where name like 'Liu%'  

// Liu开头的所有(一个字符)
select * from 表 where name like 'Liu_' 

3、限制limit

select * from 表 limit 5;             - 前5行

select * from 表 limit 10,5;          - 从第10行开始的5行

select * from 表 limit 5 offset 10    - 从第10行开始的5行

4、排序asc,desc

select * from 表 order by 列 asc              - 根据 “列” 从小到大排列

select * from 表 order by 列 desc             - 根据 “列” 从大到小排列

select * from 表 order by 列1 desc,列2 asc    - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序

5、分组group by

select num from 表 group by num
select num,id from 表 group by num,id
select num,id from 表  where id > 50 group by num,id order id desc
select num,id,count(*),sum(score),max(score),min(score) from 表 group by num,id
select num from 表 group by num having max(id) > 50

// 注意:group by 必须在where之后,order by之前。
// WHERE 搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值