-----创建-----
查看服务器中当前有哪些数据库
mysql> show databases;
选择所使用的数据库
mysql> use 数据库名;
创建数据库
mysql> create database 数据库名;
在当前数据库中创建数据表
mysql> create table 表名 (字段 1 类型 1,...);
-----删除-----
删除指定的数据库
mysql> drop database 数据库名;
删除当前或指定数据库中指定的数据表
mysql> drop table 表名;
删除所有记录
mysql> truncate table 表名;
删除字段
mysql> alter table 表名 drop 字段;
在数据表中删除指定的记录
mysql> delete from 表名 where 条件表达式;
将当前数据库表中记录清空
mysql> delete from 表名;
用optimize table来优化一下,只对MyISAM, BDB和InnoDB表起作用。运行过程中,MySQL会锁定表。
mysql> optimize table test.userinfo;
-----查看-----
查看服务器中当前有哪些数据库
mysql> show databases;
显示当前数据库中有哪些数据表
mysql> show tables;
显示当前或指定数据库中指定数据表的结构(字段)信息
mysql> describe 表名;
显示当前数据库的表中的记录
mysql> select * from 表名;
从数据表中查找符合条件的记录
mysql> select 字段名 1,字段名 2……from 表名 where 条件表达式;
查看创建数据表的DDL语句
show create table 表名
查看usertest中数据按uid排序显示,SELECT * FROM table_name1 ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
SELECT * from usertest ORDER BY uid ASC;
-----修改-----
修改数据表的名称
mysql> alter table 旧表名 rename 新表名;
修改字段的类型
mysql> alter table 表名 modify 字段 类型;
修改字段
mysql> alter table 表名 change 旧字段名 新字段名 类型;
修改、更新数据表中的记录
mysql> update 表名 set 字段名=新数据 where 条件表达式;
-----增加-----
增加字段
mysql> alter table 表名 add 字段 类型(first/after);
向user表中的name字段后添加aa字段。
mysql> alter table user add aa after name;
添加aa字段并将其作为第一个字段
mysql> alter table user add aa first;
向数据表中插入新的记录
mysql> insert into 表名(字段 1,字段 2,……) values(字段 1 的值, 字段 2 的值,……);
INSERT INTO usertest(NAME,email,age,sex,phone) SELECT NAME,email,age,sex,phone FROM usertest;
-----对用户授权 -----
mysql> grant 权限 1,权限 2,...... on 数据库.数据表 to 用户@登录位置 (identified by '密码');
取消用户授权
mysql> revoke 取消的权限 1,取消的权限 2,...... on 数据库.数据表 from 用户@登录位置;
mysql> show grants for 用户@登录位置;
1.授予用户全部权限
创建用户
Mysql> CREATE USER 'lis'@'%' identified by '123456';
Mysql> select host,user,password from mysql.user;
Mysql> grant all on test.a1 to lis@'%';
给已存在用户(lis)授权,对 aa 库中的 a1 表有全部(all)权限, ‘%’代表除本机以外所有。
Mysql> grant all on *.* to lis@'%';
给已存在用户(lis)授权,对所有库所有表有全部(all)权限
Mysql> grant all on aa.a1 to lis@'%';
创建用户 abc 的同时并授权对 aa 库中的 a1 表有全部(all)权限
Mysql> grant all on aa.a1 to abc@'%' identified by '123456';
2.取消 abc 用户的删除库、表、表中数据的权限
Mysql> revoke drop,delete on aa.a1 from abc@'%'; #取消删除权限(登录 abc 测试)
Mysql> show grants for abc@'%'; #查看指定用户 abc 的授权
创建root用户,密码Idmm4+TtBmc=,权限和root一样的用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Idmm4+TtBmc=' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
-----更改数据库密码-----
方法1
用SET PASSWORD命令
首先登录MySQL。
更改其他用户密码
mysql> set password for root@localhost = password('123456');
更改当前用户密码
mysql> set password=password('123456');
方法2
用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3
用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
找回密码
1.root 找回自己的密码并修改
1)关闭数据库
2)修改主配置文件(/etc/my.cnf)<------ skip-grant-tables
3)启动数据库
4)空密码登录并修改密码
mysql> update mysql.user set password=password('新密码') where user='root';
5)删除 skip-grant-tables,重启数据库验证新密码