mysql中常用命令
登录:mysql -uroot -p回车,输入密码
添加mysql用户:
第一种:insert into mysql.user(Host,User,Password) values ('%','user1',password('1234'));
flush privileges;
第二种:grant 权限[select,update,delete,insert或者all privileges] on 数据库.表[*.*] to user_name@localhost[%代表所有地方] identified by 'password';
修改结束符 delimiter //或者delimiter ;
查看所有数据库:show databases;
进入某数据库:use db_name;
查看库中所有表:show tables;也可以直接查看某个库的表:show tables from db_name;
查看表的结构:show columns from [db_name.]table_name;或者:describe table_name;
查看存储过程:进入某库,show procedure status;
同样可以使用 show table status; show function status;
查看详细创建过程:show create database db_name;
show create table table_name;
show create procedure procedure_name;
查看存储过程的详细内容:select * from mysql.proc where name=proc_name;
查看数据库变量:show variables;
查看字符集:show variables like 'character_set_%;
创建表:create table table_name(
id int not null auto_increment,
name varchar(20) not null,
pwd char(32) not null,
primary key(id)
);
修改表:
alter table table_name add addr varchar(50) not null default '' add primary key (id);
alter table table_name change addr addr varchar(50) not null default '';
alter table table_name drop column addr;
alter table table_name rename table_name2;
alter table table_name add index 索引名(字段名);
创建存储过程:
drop procedure if exists procedure_name;
create procedure procedure_name(int param1 int,out param2 type)
begin
declare temp int default 1;
set @a=concat(param1);
label:loop
set temp2=param1%2;
if temp = 1 then
set param1=param1*3+1; -- 注释
else
set temp2=param1/2;
end if;
set @a=concat(@a,'->',param1);
if param1>1 then
iterate label;
end if;
leave label;
end loop label;
end
//
创建触发器://使用:用来修改一个数据的时候在数据里同时更新另一些数据,向应用程序暴露更少的接口
create trigger trigger_name
before[after] insert[update,delete]
on table_name
for each row
begin
body;
end;
会有new.XX,old.XX