MySQL数据库增删改查等常用命令介绍

tangjianft 2019-10-25

MySQL可以说是最常用的小型数据库,加上现在越来越流行的分布式架构,哪怕是一般的中大型项目也可以用MySQL来进行部署。

数据库的操作最常用的就是增删改查,还有一些切换数据库等操作。以下命令不加说明的,均是MySQL模式下命令,命令行模式下的命令要设置好系统环境变量才能使用。


创建数据库

create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;
如果数据库不存在则创建数据库 使用utf-8默认字符集为utf8_general_ci

创建表

create table table_name
(字段名1 字段类型 not null,字段名2 字段类型,primary key(字段名2))
创建表的同时,为字段名1添加非空约束,设置字段名2为主键

插入数据

Insert into 表名 values(全部字段值)
Insert into 表名(字段名1,字段名2) values(字段1值,字段2值) //数据只有部分字段值

创建用户

create user “用户名”@”host” identified by “密码” //host为登录ip,可以是localhost或者其他ip地址,若是任意ip可登录,使用%


删除数据库

drop database if exists数据库名

删除表

drop table if exists表名

删除数据

delete from 表名 where 条件 //不加where 条件,则删除所有数据

删除用户

drop user “用户名”@”host”


更新数据

Update table_name set 字段名 = 属性新值 where 条件

授权用户

grant 权限 on 数据库.表名 to “用户名”@”host” with grant option
//权限包括select、update、insert、delete等等,可以使用all表示所有权限;后面的with grant option,表示该用户可以把自己的该权限赋予其他用户
撤销用户授权把grant改成revoke,其他格式一致

更改密码

set password for “用户名”@”host” = password(“新密码”)
在命令行模式下,可以使用mysqladmin 命令
mysqladmin -uroot -p旧密码 password 新密码 //仅可更改本地MySQL用户密码


select * from 表名 where条件 (groud by ,order by,having)
select可以说是数据库中最常用的命令了。

1.*可以使用表中指定字段代替,查询结果仅显示指定字段

2.select distinct 去重查询,distinct要紧接着select

3.select * into 表名2 from 表名1 //使用查询结果创建一个表2(表2之前不存在),into 表名要在from前面

4.groud by 字段1 ,查询结果以字段1分组,相同的为一组(查询字段中要包括字段1)

5.order by 字段 1 ,查询结果以字段1排序(默认升序),字段1后加上空格,desc排序为降序,升序用asc

6.having 条件,where与having同样是筛选条件,区别

where是直接筛选表中数据,不能使用函数

having是对筛选出来、分组了的数据再进行筛选,可以使用函数

如果使用having不使用函数的话,直接把条件放在where里就可以了

查询表结构

desc 表名

查询有哪些数据库

show database

查询当前使用数据库名

select datebase()

查询用户及对应登录权限host

select host,user from mysql.user

其他常用操作命令
切换数据库
use 数据库名

启动/停止mysql

net start/stop mysql

登录用户,命令行模式(不是mysql模式下)

mysql -u用户名 -p密码 -h目标地址
若是登录本地mysql可以不用-h

退出

exit

导入数据库

source path/*.sql

导出数据库,命令行模式下

mysqldump -u用户名 -p密码 -h目标ip >path/*.sql

最后
想使用图形化界面管理数据库,个人推荐使用navicat,一款很好用的数据库管理软件,功能十分强大。
————————————————

相关推荐