【MySQL的常用操作命令整理】
转自:PPV课大数据(ID:ppvke123)
缘由:初次接触命令行操作MySQL数据库,使用还不熟练,故整理之,方便日后查阅。
备注: 用户登录MySQL后,对数据库操作的命令基本都以”;”
原文链接: 转自:PPV课大数据(ID:ppvke123) 缘由:初次接触命令行操作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); 增加字段mysql命令行,并设置字段类型: 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(); (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |