MySQL操作,以及常用命令

本文详细介绍了MySQL数据库的操作,包括创建、查询、更新、删除等基本命令,以及数据定义、操作、查询、控制语言的使用。此外,还讲解了索引、视图、用户管理、事务处理、备份与恢复等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL操作,以及常用命令

创建数据库:create database 数据库名;

操作数据库:use 数据库名;

显示所有数据库:show databases;

显示所有表:show tables;

创建表:create table 表名(字段名1 字段属性,字段名2 字段属性,...);

插入表数据:insert into 表名([字段名1,字段名2,...]) values (数据1,数据2, ...);

更新表数据:update 表名 set 字段名1=要更新的数据 [,字段名2=要更新的数据] [where 条件]

删除表数据:delete from 表名 [where 条件];

删除表:drop table 表名;

删除数据库:drop database 数据库;

SQL语言分类:

数据定义语言DDL(Data Definition Language),其中包括 create 、drop、 alter、 show

数据操作语言DML(Data Manipulation Language),包括 insert 、update、delete

数据查询语言DQL(Data Query Language),包括 select

数据控制语言DCL(Data Control Language),包括 grant、revoke

事务控制语言DTL(Data Transacyion Language),包括 commit、rollback 等

 

自增属性:auto_increment

主键:primary key

 

查询不重复记录

select distinct 字段名1 [,字段名2] from 表名

 

SELECT DISTINCT         #查询名字不重复的记录(查询结果只有name属性)

         name

FROM

         user1;

SELECT DISTINCT                           #查询name和sex同时不重复的记录(查询结果为name和sex属性)

           name,

           sex

FROM

           user1;

        distinct只能使用需要去重的字段进行操作。 ----也就是说我didtinct了name sex,两个字段,我后面想根据id进行排序,是不可以的,因为只能name,sex两个字段进行操作.(结果只有name和sex两个字段)

        distinct去重多个字段时,含义是:几个字段 同时重复 时才会被 过滤

 

添加一列

alter table 表名 add 字段名 数据类型 字段属性 插入位置

插入位置:frist

删除一列

alter table 表名 drop 字段名

修改一列:

alter table 表名 change 原字段名 新字段名 数据类型 字段属性 插入位置

重命名表:

alter table 表名 rename 新表名

条件查询:

select 字段 from 表名 where 条件;

select * from student where sex='' and age>20; //查询性别是男,并且年龄大于20岁的人。

where后面的条件可以用>、<、>=、<=、!=等多种比较运算符,多个条件之间可以用or、and等逻辑运算符

 

排序与受限查询:

select * from 表名 [where 表名 ] [order by 字段名1 [desc/asc] [,字段名2 [desc/asc]]]

select * from student order by age desc ; #查找学生表并按年龄倒叙排序

 

select * from 表名 LIMIT x,y 用于分页显示

x:起始偏移量(行号)

y:偏移行数

聚合查询:

select count(字段名) [as 别名] from 表名

min max sum avg

区间查询:

select * from 表名 where 字段名 between x and y

分组查询:

select  name,count(*) from  表名   group  by  name

以name为分组,统计每个名字出现的次数

select  name,count(*) from  表名   group  by  name  having  条件

注意  :  Group不能与where连用  使用条件的时候  使用having

子查询、联合查询:

一旦给表定义了别名,那么原始的表名就不能在出现在该语句的其它子句中

内连接inner join

select 别名1.字段名,别名2.字段名,别名3.字段名3

from 表名1 as 别名1

        inner join 表名2 as 别名2

                on 别名1.字段名=别名2.字段名

        inner join 表名3 as 别名3

                on 别名2.字段名=别名3.字段名

[where 条件]

 

外连接

左外连接返回左表中不符合连接条件,但符合查询条件的数据行,即左表的全部

左连接left join

select 别名1.字段名,别名2.字段名,别名3.字段名3

from 表名1 as 别名1

        left join 表名2 as 别名2

                on 别名1.字段名=别名2.字段名

        left join 表名3 as 别名3

                on 别名2.字段名=别名3.字段名

[where 条件]

 

模糊查询:

select * from 表名 where 列 like ‘值’

% _ 各种选择

 

两种表类型

innodb 特点:

1)支持事务、回滚

2)行级锁

3)支持外键约束

缺点:

1)占用空间大,操作慢,不支持全文索引

 

myisam特点:

1)表级锁

2)支持全文索引

缺点:

不支持事务处理,不支持外键约束

 

索引

作用:

加快查找速度,提高查找效率,加强表的联系实现多表查询,约束数据的有效性

主键索引:

确定每条记录的唯一性,主键不能为空,每个表中只能有一个主键

id int not null auto_increment primary key

外键索引:

当前表的外键,是关联表中的主键中的数据。关联的外键和主键具有约束性

foreign key(外键名) references 关联表(主键)

唯一索引:

避免出现重复的值, 不提升访问速度

name char(30) not null default ‘DB’ unique

普通索引:

依附在某一列上,提高查询速度

create index 索引名 on 表名(字段名)

 

查看索引:show index from 表名

删除索引:drop index 索引名 on 表名

 

缺点:

影响运行速度,耗费空间,创建维护索引消耗时间

 

视图

创建视图:

create view 视图名 as select 语句

查询视图:

show create view 视图名

删除试图:

dorp view 视图名

在视图中对数据的增删改查与在表中都一样

 

用户管理

创建用户:

create user '用户名'@'地址' identified by ‘密码’

修改密码:

update user set password = PASSWORD(‘密码’) where user = ‘用户名’@'地址'

删除用户:

drop user 用户名

授以用户的权限:

grant 权限 on 数据库.表 to '用户名'@'登录主机'

权限的类型:

数据权限、表结构、外键等(select insert delete ....)

收回权限:

revoke 权限 on 数据库.表 from '用户名'@'登录主机'

 

数据库事务

回滚:

rollback

关闭自动提交:

set autocommit = 0

开启自动提交:

set autocommit = 1

提交:

commit

 

数据库备份与恢复

备份方式:

mysqldump -u root -p 数据库名 数据表名1、表名2 密码 > 路径

恢复方式:

mysql -u root -p 密码 数据库名 < 路径

摘至本人有道云笔记

2018/08/15 20:53

《数据库操作》

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值