缘由:初次接触命令行操作MySQL数据库,使用还不熟练,故整理之,方便日后查阅。
net start mysql
net stop mysql
mysql -h 主机地址 -u用户名 -p用户密码
quit;
flush privileges;
一次可以创建多个数据库用户,如:
CREATE USER 用户1 identified BY "密码1" , 用户2 IDENTIFIED BY "密码2"; 或者: grant select on 数据库.* to 用户名@登录主机 identified by "密码";
mysqladmin -u用户名 -p旧密码 password 新密码 或者: update user set password=password("新密码") where user="用户名";
库,表级的权限控制 : 将某个库中的某个表的控制权赋予某个用户:
Grant all ON db_name.table_name TO user_name [ indentified by "password" ];
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;
revoke all privileges on 数据库.* from 用户名@"%"; 或者: delete from user where user="root" and host="%";
delete from user where User="用户名" and Host="主机地址";
show databases;
use database_name;
create database database_name;
drop database database_name;
show tables;
create table table_name; 或者: create table table_name (字段1 数据类型 , 字段2 数据类型);
drop table table_name;
describe table_name; 或: show columns from 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;
。
delete from table_name; // 删除整个表中的信息 delete from table_name where 条件语句 ; // 删除表中指定条件的语句
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;
mysql < extend.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
mysqladmin -u 用户名 -p -t 数据库名 > a.sql
mysqldump -T 卸出数据的目录 phptest 指定卸出的数据表
其中,只有指定了 -T 参数才可以卸出纯文本文件。如果不指定卸出的数据表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行;另一个为.txt文件,只包含数据,且没有sql指令。
select version();
select user();
mysql> select database();