MySQL命令总结
安装MySQL
- 安装
sudo apt-get install mysql-server
- 服务
启动服务:sudo service mysql start
停止服务:sudo service mysql stop
重启服务:sudo service msyql restart
- 配置
配置文件目录为/etc/mysql/mysql.cnf
进入conf.d目录,打开mysql.cnf,发现并没有配置
进入mysql.conf.d目录,打开mysql.cnf,可以看到配置项
主要配置如下
bind-address表示服务器绑定的ip,默认为127.0.0.1
port表示端口,默认为3306
datadir表示数据库目录,默认为/var/lib/mysql
general_log_file表示普通日志,默认为/var/log/mysql/mysql.log
log_error表示错误日志,默认为/var/log/mysql/error.log
数据库命令
-- 连接数据库
mysql -uroot -p;
-- 退出数据库
quit/exit/ctrl + d
-- 查询数据库版本
select version();
-- 查询当前时间
select now();
-- 查看当前使用的数据库
select database();
-- 查看所有数据库
show databases;
-- 创建数据库,设置字符集为utf8
create database db_name charset=utf8;
-- 查看数据库
show create database db_name;
-- 使用数据库
use db_name;
-- 删除数据库
drop database db_name;
数据表操作命令
数据表操作命令
- alter add 添加字段
- alter modify/change 修改字段
- alter drop 删除字段
-- 创建一个表
create table t_name(
id int unsigned not null,
name varchar(20)
);
-- 查看表结构
desc t_name;
-- 查看表的创建语句
show create table student;
-- 添加字段(列)
-- alter table t_name add 列名 类型;
-- 修改字段
alter table t_name modify 列名 类型及约束;
-- 修改字段重命名
alter table t_name change 原列名 新列名 类型及约束;
--删除字段
alter table t_name drop 列名;
增查改删(CRUD)
-- 增(insert)
insert into t_name values();
-- 部分插入
insert into t_name(列1,列2,...) values(值1,值2,...);
-- 多行插入
Insert into t_name values(),(),()…();
-- 查(select)
-- 查询所有列
select * from t_name;
-- 按条件查询
select * from t_name where 条件;
-- 指定列查询
select 列1 [as 别名],列2 [as 别名]... from t_name;
-- 改(update)
update table set 列1 = 值1,列2=值2...where 条件;
-- 删(delete)
delete from t_name where 条件;
-- 逻辑删除
-- 用一个字段来表示 这条信息是否已经不能再使用了
-- 给students表添加一个 is_delete 字段 bit 类型
数据库的备份与恢复
-- mysqldump –uroot –p 数据库名 >python.sql;
-- mysql -uroot –p 新数据库名 < python.sql;
授权与创建用户
“` sql
– 常用权限 create,alter,drop,insert,update,delete,select…
– 分配所有权限 all privileges
–创建用户
use mysql
– 创建用户&授权
– grant 权限列表 on 数据库 to ‘用户名’@’访问主机’ identified by ‘密码’;
– 可以操作db里面的所有表 用 db_name.*
– 访问主机 使用% 表示任意ip登录 一般建议用localhost 不建议使用%
– 创建一个用户 zheng 密码:zheng
grant all privileges on jing_dong.* to ‘zheng’@’localhost’ identified by ‘zheng’;
– 查看用户具有的权限
show grants for user@localhost;
– 修改权限
– grant 权限名称 on 数据库 to 账户@主机 with grant option;
grant select,update on jing_dong.* to ‘zheng’@’localhost’ with grant option;
– 刷新权限
flush privileges
– 删除用户
drop user user@’localhost’;
delete from user where user=’username’;
flush privileges
– 修改密码
– update user set authentication_string=password(‘新密码’) where user=’用户名’;(语法格式)
update user set authentication_string=password(‘123’)where user=’zheng’;
10/05/2018 10:00