Mysql常用基础操作(备忘录)
常常忘记mysql的一些命令行操作,甚至于说,比较复杂的sql格式记不住或忘记了,也可能根本不会考虑去记,因此,做一下汇总,当下次出现恍惚时不至于去百度挨个找,有时就是记不起来,但是只要给点药引子,立马会想起来。
一、mysql基础操作
mysql命令规则:每行sql后边都跟个分号表示一个命令语句结束
1、登录本地mysql数据库
$ mysql -u root -p
$ password
2、更改root密码
mysql>mysqladmin -uroot password 'yourpassword'
3、登录远程mysql数据库(主机地址,端口号,用户,密码)
mysql>mysql -uroot -p -h192.168.137. -P3306
4、退出mysql
mysql>exit;
5、启动mysql服务(CentOS下)
systemctl start mysqld.service
6、结束mysql服务(CentOS下)
systemctl stop mysqld.service
7、启动mysql服务(CentOS下)
systemctl restart mysqld.service
二、数据库操作
1、创建数据库
mysql>create databases 数据库名;
2、删除数据库
mysql>drop database 数据库名;
3、修改数据库编码方式
mysql>alter database 数据库名 default character set 编码方式 collate 编码方式_bin;
4、查看所有数据库
mysql>show database;
5、切换数据库
mysql>use '数据库名';
6、查看当前数据库所支持的字符集
mysql>show charset;
三、数据表操作
1、创建数据表
mysql>create table 数据表名 (column_name column_type not null,...)
2、删除数据表
mysql>drop table 数据表名;
3、清空数据表
mysql>truncate table 数据表名;
4、修改数据表名
mysql>alter table 旧表名 rename [to] 新表名;
5、查看数据表结构
mysql>describe 数据表名;
6、列出所有数据表
mysql>show tables;
四、权限控制
1、创建用户(需用root账号登录)。
方式一:
mysql> insert into mysql.user(Host,User,Password) values("localhost","username","password");
方式二:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
- username:你将创建的用户名
- host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符
%
- password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
2、删除用户(需用root账号登录)
mysql>DROP USER 'username'@'host';
3、授权用户并刷新系统权限表(需用root账号登录)
mysql>grant 权限 on 数据库名.数据表名 to 用户名@登录主机 identified by "密码";
mysql>flush privileges;
- 权限:用户的操作权限,如
SELECT
,INSERT
,UPDATE
等,如果要授予所的权限则使用ALL
- 数据表名:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用
*
表示,如*.*
4、取消用户权限
mysql>REVOKE privilege ON databasename.tablename FROM 'username'@'host';
5、修改密码(需用root账号登录)
mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";
mysql>flush privileges;
五、表中字段增删改
1、增加字段
ALTER TABLE `数据表名`
ADD `字段一` varchar(16) NULL,
ADD `字段二` date,
ADD `字段三` varchar(16),
ADD `字段四` date;
2、删除字段
ALTER TABLE `数据表名`
DROP column `字段一`,
DROP column `字段二`;
3、修改字段
//修改一个字段的类型
ALTER TABLE `数据表名` MODIFY `字段一` date;
//修改一个字段的名称,此时一定要重新指定该字段的类型
ALTER TABLE `数据表名` CHANGE `旧字段名` `新字段名` date;
4、修改字段排序
mysql>alter table 数据表名 modify 字段一 数据类型 first|after 字段二
如有更多操作,继续在此补充......
2019-1-13,望技术有成后能回来看见自己的脚步
Mysql常用基础操作(备忘录)的更多相关文章
- mysql常用基础操作语法(十二)~~常用数值函数【命令行模式】
数值函数是常用函数之一,也是学习mysql必会的,常用的有如下一些: 1.ceil:返回大于某个数的最小整数值: 2.floor:和上一个相反,返回小于某个数的最大整数值: 3.round:返回某个数 ...
- mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】
1.mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都 ...
- mysql常用基础操作语法(十一)~~字符串函数【命令行模式】
注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数. 1.concat连接字符串: 从上图中可以看出,直接使用sele ...
- mysql常用基础操作语法(十)~~子查询【命令行模式】
mysql中虽然有连接查询实现多表连接查询,但是连接查询的性能很差,因此便出现了子查询. 1.理论上,子查询可以出现在查询语句的任何位置,但实际应用中多出现在from后和where后.出现在from后 ...
- mysql常用基础操作语法(九)~~外连接查询【命令行模式】
1.左外连接left outer join或者left jion,outer可以省略不写,下边的右连接和全连接也一样: 左外连接的意思是,以left join左边的表中的数据为基准,即左边的表中有的必 ...
- mysql常用基础操作语法(八)~~多表查询合并结果和内连接查询【命令行模式】
1.使用union和union all合并两个查询结果:select 字段名 from tablename1 union select 字段名 from tablename2: 注意这个操作必须保证两 ...
- mysql常用基础操作语法(七)--统计函数和分组查询【命令行模式】
注:文中所有的...代表多个. 1.使用count统计条数:select count(字段名...) from tablename; 2.使用avg计算字段的平均值:select avg(字段名) f ...
- mysql常用基础操作语法(六)--对数据排序和限制结果数量的条件查询【命令行模式】
1.使用order by对查询的结果进行排序,asc升序,desc降序: 也可以在order by后指定多个字段名和排序方式进行多级排序: 2.使用limit限制查询结果的数量: 上图中的0,代表查询 ...
- mysql常用基础操作语法(五)--对数据的简单条件查询【命令行模式】
1.单条件查询:select 字段名 from tablename where 条件: 2.简单多条件查询,使用&&或者between and等: 3.is null和is not n ...
随机推荐
- 【热身】github的使用
GitHub 可以托管各种Git版本库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性.为一个 ...
- mysql数据库死锁的产生原因及解决办法
这篇文章主要介绍了mysql数据库锁的产生原因及解决办法,需要的朋友可以参考下 数据库和操作系统一样,是一个多用户使用的共享资源.当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同 ...
- Git Submodule简单操作
基于组件的项目很多,但是如果直接用包的方式直接引用到项目中,如果出现问题很难进行调试的操作,也很难进行组件的优化和管理,所以写了一篇文章来介绍下git submodule的用法,用submodule可 ...
- 我珍藏的神兵利器 - 效率工具for Win[转]
工欲善其事必先利其器. 我一直都在不断挑选和优化自己的兵器,以追求着最高效率. 此篇分享下我的私家珍藏的各种神兵利器.如果有朋友能推荐更好的,那就不枉此篇. 分为Windows软件和开发工具两 ...
- Linux时间子系统之(十三):Tick Device layer综述
专题文档汇总目录 Notes:从概念层次描述了tick-comm.oneshot tick.broadcast tick:重点介绍了tick和tickless概念及其区别,两种tick device: ...
- CORS 实战 专题
本文会代码层面对CORS问题进行剖析 CORS相关相关概念可参考http://www.cnblogs.com/softidea/p/5496719.html ERROR info: XMLHttpRe ...
- openfire推送离线聊天信息的插件
插件说明 在手机的聊天应用中,经常出现的一个需求就是把用户的离线消息通过推送系统推送到用户的手机上,为了实现这个功能,本人就开发了本插件,这个openfire 插件是拦截了发给openfire用户的离 ...
- rest_framework之解析器、路由控制、分页
解析器 我们都知道,网络传输数据只能传输字符串格式的,如果是列表.字典等数据类型,需要转换之后才能使用 但是我们之前的rest_framework例子都没有转换就直接可以使用了,这是因为rest_fr ...
- 腾讯2017年暑期实习生编程题【算法基础-字符移位】(C++,Python)
算法基础-字符移位 时间限制:1秒 空间限制:32768K 题目: 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间. 你能帮帮小Q吗? ...
- 自动化测试用例getText()获取某一个元素的值返回null或空
问题描述 页面上一个元素无法获取它的值. 用getText() 获取该元素的值返回null或空. 根本原因 ? 需要更多了解dom结构 解决办法 用getAttribute("value&q ...