专栏首页PPV课数据科学社区【学习笔记】MySQL的常用操作命令整理

【学习笔记】MySQL的常用操作命令整理

缘由:初次接触命令行操作MySQL数据库,使用还不熟练,故整理之,方便日后查阅。

备注: 用户登录MySQL后,对数据库操作的命令基本都以”;” 或 “g”结尾。

一. MySQL服务操作:

启动MySQL服务:

net start mysql

停止MySQL服务:

net stop mysql

进入MySQL数据库:

mysql -h 主机地址 -u用户名 -p用户密码

退出MySQL操作:

quit;

刷新数据库:

flush privileges;

创建数据库用户:

一次可以创建多个数据库用户,如:

CREATE USER 用户1 identified BY "密码1" , 用户2 IDENTIFIED BY "密码2"; 或者: grant select on 数据库.* to 用户名@登录主机 identified by "密码";

更改MySQL用户密码:

mysqladmin -u用户名 -p旧密码 password 新密码 或者: update user set password=password("新密码") where user="用户名";

用户的权限控制:

库,表级的权限控制 : 将某个库中的某个表的控制权赋予某个用户:

Grant all ON db_name.table_name TO user_name [ indentified by "password" ];

设置用户登录IP限制:

grant all privileges on 数据库.* to 用户名@主机地址 identified by "密码" with grant option;

例如:

// 设置root用户可在本地访问所有的数据库: grant all privileges on *.* to root@localhost identified by "1234567890" with grant option; // 设置root用户可在任何IP地址访问mydatabase数据库: grant all privileges on mydatabase.* to root@"%" identified by "1234567890" with grant option;

删除用户登录IP授权:

revoke all privileges on 数据库.* from 用户名@"%"; 或者: delete from user where user="root" and host="%";

删除SQL用户:

delete from user where User="用户名" and Host="主机地址";

二. 数据库操作:

列出数据库:

show databases;

使用名为database_name的数据库:

use database_name;

创建名为database_name的数据库:

create database database_name;

删除一个名为database_name的数据库:

drop database database_name;

三. 表操作:

列出所有表:

show tables;

创建一个名为table_name的新表:

create table table_name; 或者: create table table_name (字段1 数据类型 , 字段2 数据类型);

删除表table_name:

drop table table_name;

显示表table_name的数据结构:

describe table_name; 或: show columns from table_name;

向表table_name中添加数据:

Insert into table_name [(字段1 , 字段2 , ….)] values (值1 , 值2 , …..);

更新某一个字段的数据:

Update table_name set 字段名="新值" [, 字段2 ="新值" , …..][where id=id_num] [order by 字段 顺序];

例 : update mytable set username="lisi" where id=1; 。

将表table_name中的记录清空:

delete from table_name; // 删除整个表中的信息 delete from table_name where 条件语句 ; // 删除表中指定条件的语句

显示表table_name的记录:

select * from table_name;

修改表名:

alter table table_name rename to new_table_name;

四. 修改表结构:

把某个字段设为主键:

alter table table_name add primary key (col_name);

删除主键的定义:

alter table table_name drop primary key (col_name);

增加字段,并设置字段类型:

alter table table_name add col_name varchar(20);

删除字段:

alter table table_name drop col_name;

修改字段属性:

alter table table_name modify col_name varchar(40) not null;

修改字段名:

alter table table_name change old_col_name new_col_name varchar(40); // 必须为当前字段指定数据类型等属性,否则不能修改

用已存在的表来建新表,但不包含旧表的数据:

create table new_table_name like old_table_name;

增加主键,外键,约束,索引等:

约束(主键: Primary key 、唯一性: Unique 、非空: Not Null ); 自动增张: auto_increment ; 外键: Foreign key 。 与reference table_name(col_name列名)配合使用,建表时单独使用。 删除多个表中有关联的数据:设置 foreign key 为 set null 。

五. 数据的备份与恢复:

在当前的数据库上执行外部的SQL脚本:

mysql < extend.sql

指定数据库执行外部SQL脚本:

mysql [表名] < extend.sql

数据传入:

load data local infile "[文件名]" into table [表名];

备份数据库:

mysqldump -h 主机地址 -u 用户名 -p 数据库名 > dbname_backup.sql

恢复数据库:

mysqladmin -h 主机地址 -u 用户名 -p create 新数据库名 mysqldump -h 主机地址 -u 用户名 -p 新数据库名 < dbname_backup.sql

卸出建表指令:

mysqladmin -u 用户名 -p -d 数据库名 > a.sql

卸出插入数据的sql命令,不包含建表命令:

mysqladmin -u 用户名 -p -t 数据库名 > a.sql

卸出数据,不包含sql命令:

mysqldump -T 卸出数据的目录 phptest 指定卸出的数据表

其中,只有指定了 -T 参数才可以卸出纯文本文件。如果不指定卸出的数据表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行;另一个为.txt文件,只包含数据,且没有sql指令。

六. 查看数据库信息:

查看数据库版本号:

select version();

查看当前的user:

select user();

查看当前操作的数据库名:

mysql> select database();

来源:凳子

原文链接:http://www.dengzhr.com/others/backend/sql/874

本文分享自微信公众号 - PPV课数据科学社区(ppvke123),作者:子匠_Zijor

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 干货丨23个适合Java开发者的大数据工具和框架

    目前,编程人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂。根据外媒的一项调查报告,以下列出...

    小莹莹
  • 【观点】数据挖掘之七种常用的方法

    利用数据挖掘进行数据分析常用的方法主要有分类、回归分析、聚类、关联规则、特征、变化和偏差分析、Web页挖掘等, 它们分别从不同的角度对数据进行挖掘。 ...

    小莹莹
  • 【学习】数学之美系列十:有限状态机和地址识别

    数学之美系列十:有限状态机和地址识别 地址的识别和分析是本地搜索必不可少的技术,尽管有许多识别和分析地址的方法,最有效的是有限状态机。 一个有限状态机是一个特...

    小莹莹
  • MySQL的常用操作命令整理

    缘由:初次接触命令行操作MySQL数据库,使用还不熟练,故整理之,方便日后查阅。 备注: 用户登录MySQL后,对数据库操作的命令基本都以”;” 或 “g”结尾...

    企鹅号小编
  • Confluence 6 数据库 JDBC 驱动

    基于许可证的原因,我们没有将 MySQL 或 Oracle 的数据库驱动整合到 Confluence 中,因此你需要在 Confluence 启动之前手动下载和...

    HoneyMoose
  • MySQL高可用方案MHA的一些总结和思考

    MySQL高可用方案中MHA绝地是一个相当成熟的实现。对于数据的切换,其实MGR也能很好的完成,也就是说,数据层面的角色切换已经刻意很平滑的做好了,但是对于访问...

    jeanron100
  • django orm(2)

    分组查询主要应用在比如查询班级中男生、女生的个数等需要先分组再查询的场景,分组操作使用的annotate内部调用的是SQL语句group by,分着查询需要和聚...

    GH
  • 生信分析42.肿瘤浸润免疫与乳腺癌

    摘要部分,言简意赅,尤其是数据库的介绍,穿插在结果的叙述之中。作者对乳腺癌的认识和理解还是蛮深刻的,这也是对肿瘤进行深入分析的基础。

    芒果先生聊生信
  • DevOps工具介绍连载(20)——Google App Engine

    2008年4月7号,Google在Campfire One上介绍了一种简化创建、运行和构建伸缩性Web应用的工具——Google App Engine。简而言之...

    小老鼠
  • 基于MTCNN的人脸自动对齐技术原理及其Tensorflow实现测试

            人脸识别是计算机视觉研究领域的一个热点。而人脸识别包含了诸多步骤,其实现技术流程如下图所示(摘自http://www.techshino.com...

    sparkexpert

扫码关注云+社区

领取腾讯云代金券