mysql的启动与关闭
启动
/etc/init.d/mysql start
多实例使用自建脚本启动
2种关闭数据库方法
mysqladmin -uroot -p密码 shutdown #优雅关闭
/etc/init.d/mysqld stop
登录mysq
命令mysql 常用参数 mysql -u -p -P -h -S
#-u指定登录用户 -p用户密码 -P指定端口号 -h远程连接mysql的IP -s多实例登录时指定mysql的sock文件 -e在外部执行sql命令
mysql -uroot -p123456 -P 3306 -h 192.168.1.1 -S /data/3306/mysql.sock
本地mysql登录只用-u -p 多实例加-S 非远程不用-P-h
mysql设置密码
新建无密码用户设置密码
mysqladmin -uroot password 密码
修改密码
mysqladmin -uroot -p原密码 password 新密码 #多实例指sockt
在mysql数据库内修改密码
mysql> use mysql; #进入mysql库
mysql> update user set password=password("123456") where user='root';
#更改原user表内的root行的password里的数据改为123456 前边加password用于数据加密
mysql> flush privileges; #刷新
mysql的基本操作
show 查看 use进入 describe显示数据表的结构
show status; #查看mysql状态
show databases; #查看库所有库
show databases like '库名'; #查看库内的表
show tables; #查看表 需要先'use 库名'进入该库才能查看
show grants; #查看授权用户权限
show grants for 'root'@'localhost'; #查看指定用户权限
use 库名 #进入一个库相当于linux的cd命令
status; #显示当前数据库状态
flush privileges; #刷新权限
Mysql~sql语言
1.数据查询语言DQL select #查看
2.数据操作语言DML insert update和delete #插入 更新和删除开发常用
3.事务处理语言TPL begintransaction commit和rollback #不用
4.数据控制语言DCL grant revoke #设置用户权限和删除用户权限 运维必备
5.数据定义语言DDL create drop #创建和删除 运维必备
6.指针控制语言CCL #不用
表格例子:
名字 年龄 工作 工资 编号
秦穆公 50 秦王 5000 1
晋文公 40 晋王 6000 2
齐桓公 60 齐王 7000 3
1.create建库建表
建库格式:create databa 数据库名;
mysql> create database 春秋五霸; #建库 如果编译没指定字符集 默认为拉丁文 可在建库时指定字符集
建表格式:create table 表名;
use 春秋五霸 #进入春秋五霸库
create table 春秋五霸(名字 char(20) not null,年龄 char(20) default "",工作 char(20) not null,工资 int(20) not null,编号 int not null,primary key(编号));
#在春秋五霸库中建一个叫春秋五霸的表 表内记录了名字,年龄,工作,工资,编号
not null 表示对应表内内容不能为空 ,default默认,如果不给于值按默认写 primary key(编号)索引关键字 为编号 char 字符类型 int数字型
参考http://www.runoob.com/mysql/mysql-data-types.html
2.drop删库删表
格式 drop table 数据库.表名;
drop database 数据库名;
drop table 春秋五霸.春秋五霸; #删除春秋五霸库中的春秋五霸表 如果use到了春秋五霸库则可以直接drop table 春秋五霸;删除春秋五霸表
drop database 春秋五霸; #删除春秋五霸库
3.insert 插入新数据
格式: insert into 表名(字段1,字段2,.........) values('字段值1','字段值2'......);
insert into 春秋五霸(名字,年龄,工作,工资,编号)values('秦穆公','50','秦王','5000','1');
insert into 春秋五霸(名字,年龄,工作,工资,编号)values('晋文公','40','晋王','6000','2');
insert into 春秋五霸(名字,年龄,工作,工资,编号)values('齐桓公','60','齐王','7000','3');
insert into 春秋五霸 values('越王','70','越王','8000','4'); #如果需要按格式正行插入可以不写字段 直接values写字段值
4.update更改原有数据
update 表名 set 字段名1='新值1',字段名2='新值2' where 条件表达式;
update 春秋五霸 set 名字='越王',年龄='70',工作='越王',工资='8000' where 编号=4;
#更新春秋五霸表内和穆公数据 通过where 匹配编号4匹配到和穆公 where支持 and or
5.delete删除不需要的数据
delete from 表名 where 条件表达式;
delete from 春秋五霸 where 编号=6; #删除上图编号6的穆公内容
模糊删除:
delete from 表 where 名字 like '%公'; #删除以公字结尾的
6.select查询语句
格式:select 字段名1,字段名2,..... from 表名 where 条件表达式;
字段名1 看什么内容,from从哪个表看 where匹配橫行内容
select * from 春秋五霸; #看春秋五霸所有内容
select 名字 from 春秋五霸; #只看春秋五霸所有名字
select * from 春秋五霸 where 名字='晋文公'; #只看晋文公的资料
select 名字 from 春秋五霸 where 名字='晋文公'; #只看晋文公的名字
select * from 春秋五霸 where 名字 like '%王%'; #模糊查找 如果只记得名字里带个王字 可以(where 名字 like '%王%')通过正则匹配查找
7.grand用户权限设置
语法:grant 权限 on 库.表 to '用户名'@'允许主机' identified by '密码'; #如果用户不存在直接创建用户
用户不存在=create user 'xixi'@'localhost' identified by '123456';#创建用户+grant all on *.* to 'hehe'@'localhost';#给与权限
例:
grant all on *.* to 'hehe'@'localhost' identified by '123456'; #创建本地mysql用户hehe 给与权限all(所有)密码为:123456
grant all on *.* to 'hehe'@'192.168.1.%' identified by '123456' #创建用户hehe 允许192.168.1.0网段连接
#@后可以跟网段 IP localhost 和域名
8.revoke撤销用户权限
语法:revoke 撤销的权限 on 库.表 from '用户'@'允许主机'
revoke drop on *.* from 'hehe'@'localhost'; #撤销呵呵用户 对所有库所有表的drop权限 只能revoke掉grant给与过的权限
9.mysql通配符
-任意单个长度字符
%任意长度任意字符
10.select扩展
select user(); #当前登录mysql的用户
select now(); #显示当前时间
select user(),now(); #显示当前用户和时间
select database(); #显示当前所在的库
来源:oschina
链接:https://my.oschina.net/u/4325996/blog/3884214