1.创建用户
创建只能本地登陆的用户USER,允许在[数据库名]上进行select,insert,update,delete操作,密码[PASSWD:]
mysql> grant select,insert,update,delete on [数据库名].* to USER@localhost Identified by "[PASSWD]";
创建允许远程登陆的用户USER,允许在[数据库名]上进行select,insert,update,delete操作,密码[PASSWD]:
mysql> grant select,insert,update,delete on 数据库名.* to 'USER'@'%' Identified by "[PASSWD]";
创建后需要刷新mysql权限
mysql> flush privileges;
2.增查删改
1.对数据库操作:
create database 数据库名;
show databases;
drop database 数据库名;
use 数据库名;
2.对表的操作:
create table 表名(字段 数据类型,字段 数据类型。。。);
show tables;
drop tables;
describe 表名;
rename table 旧表名 to 新表名;
3.对列的操作
alter table 表名 add 列名 数据类型;
alter table 表名 change 旧列名 新列名 数据类型;
alter table 表名 drop 列名;
4.对数据的操作:
insert into 表名 values (数据1,数据2,数据3); //向表内插入数据
select * from 表名 where 条件; //查找表中的指定数据
delete from 表名 where 条件; //删除表中的指定数据
update 表名 set 字段=新值... where 条件; //修改表中的指定数据
a. 用in限定范围:select * from students where native in ('湖南', '四川')
b. between...and:select * from students where age between 20 and 30
c. 比较测试符:(包括=,<>,<,<=,>,>=)select * from students where name = '李山'
d. select * from students where name like '李%' (注意查询条件中有“%”,则说明是部分匹配,而且还有先后信息在里面,即查找以“李”开头的匹配项。所以若查询有“李”的所有对象,应该命令:'% 李%';若是第二个字为李,则应为'_李%'或'_李'或'_李_'。)
e. []匹配检查符:select * from courses where cno like '[AC]%' (表示或的关系,与"in(...)"类似,而且"[]"可以表示范围,如:select * from courses where cno like '[A-C]%')注:关于这个字符我在mysql里用的时候mysql把它当两个普通自符处理的。
[^]stockname like '[^F-M]%' --------- (^排除指定范围)
f. count()求总数,如:select count(*) from students (求学生总人数)
g. avg(列)求平均,如:select avg(mark) from grades where cno=’B2’
h. max(列)和min(列),求最大与最小
5.赋予用户权限
#grant 赋予用户,查询、插入、更新、删除 数据库中所有表数据的权限
grant all privileges on *.* to user@'%'
grant select on *.* to user@'%';
grant insert on *.* to user@'%';
grant update on *.* to user@'%';
grant delete on *.* to user@'%';
或
grant select, insert, update, delete on *.* to user@'%'
#grant 赋予用户,创建表、索引、视图、存储过程、函数的权限
grant create on *.* to user@'%';
grant alter on *.* to user@'%';
grant drop on *.* to user@'%';
改密码
set password for 'root'@'localhost' = password('12345678');
3.数据导出导入
1.数据导出
导出所有数据库
mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径]
导出数据和数据结构
mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]
只导出数据不导出数据结构
mysqldump -u [数据库w用户名] -p -t [要备份的数据库名称]>[备份文件的保存路径]
4)导出数据库中的Events
mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径]
5)导出数据库中的存储过程和函数
mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径]
2.数据导入
使用“source”命令
mysql>source [备份文件的保存路径]
使用“<”符号
mysql -u root –p < [备份文件的保存路径]
4.备份数据库
导出整个数据库
mysqldump -u用户名 -p数据库名 > 导出的文件名
mysqldump -uroot -p123456 database_name > outfile_name.sql
导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
导出一个数据库结构
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
带语言参数导出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql