标签(linux): mysql

笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流


表字段类型

  • TINYINT 微小整数类型,可存储的容量为1字节
  • INT 整数类型,可以存储容量为4个字节(4294967296)
  • CHAR(M) 定长字符串类型,当存储时,总是用空格填满右边到指定的长度,最大可存储1<= M字节<= 255
  • VARCHAR(M) 变长字符串类型,最大可存储1<= M字节<= 255

1.登陆MySQL数据库。

mysql -uroot -p

2.查看当前登录的用户。

select user();

3.创建数据库oldboy,并查看已建库完整语句。

create database oldboy;
show create database oldboy;

4.创建用户oldboy,使之可以管理数据库oldboy。

-- 方法一
create user oldboy@'localhost' identified by 'oldboy123';
grant all on oldboy.* to oldboy@'localhost';
-- 方法二
grant all on oldboy.* to oldboy@'172.16.1.%' identified by 'oldboy123';
-- 方法三
grant all on oldboy.* to oldboy@'172.16.1.0/255.255.255.0' identified by 'oldboy123';

5.查看创建的用户oldboy拥有哪些权限。

show grants for oldboy@'localhost';

5.查看当前数据库里有哪些用户。

select user,host from mysql.user;

6.进入oldboy数据库。

use oldboy
7.查看当前所在的数据库。
select database();

8.创建一张表test,字段id和name varchar(16)。

create table test( id int(4) not null, name varchar(16) not null);

9.查看建表结构及表结构的SQL语句。

show full columns from test;

10.插入一条数据“1,oldboy”

insert into test (id,name) values (1,'oldboy');

11.再批量插入2行数据 “2,老男孩”,“3,oldboyedu”。

insert into test (id,name) values (2,'老男孩'), (3,'oldboyedu');

12.查询名字为oldboy的记录。

select * from test where name='oldboy';

13.把数据id等于1的名字oldboy更改为oldgirl。

update test set name='oldgirl' where id=1;

14.在字段name前插入age字段,类型tinyint(2)。

alter table test add age tinyint(2) after id;
desc test; -- 查看表结构

15.不退出数据库备份oldboy数据库。

system mysqldump -uroot -poldboy123 -B oldboy > /opt/oldboy1.sql;

16.删除test表中的所有数据,并查看。

drop from test;
select * from test;

17.删除表test和oldboy数据库并查看

drop table test;
select * from test; drop database oldboy;
show databases;

18.不退出数据库恢复以上删除的数据。

source /opt/oldboy1.sql
select * from test;

19.把id列设置为主键,在Name字段上创建普通索引。

-- 创建test表,并设置为主键:
-- 曾经在400-500万条记录的表上建立索引,花了90-180秒
create table tset(
id int(4) not null,
primary key (id) );
修改test表,在name字段上添加普通索引。
alter table test add index intex_name(name);

20.在字段name后插入手机号字段(shouji),类型char(11)。

alter table test add shouji char(11) after name;

21.所有字段上插入2条记录(自行设定数据)

insert into test(id,age,name,shouji) values(1,23,'oldboy','18888888888'),(2,24,'oldgirl','166666666');

22.删除Name列的索引。

alter table test drop index index_name;
-- 修改字段属性
alter table `promo_flash_sale_time` modify `end_time` timestamp NULL DEFAULT NULL COMMENT '结束时间';

23.查询手机号以135开头的,名字为oldboy的记录(提前插入)。

select shouji,name from test where shouji like '135%' and name='oldboy';

24.收回oldboy用户的select权限。

revoke select on oldboy.* from 'oldboy'@'localhost';
show grants for oldboy@'localhost';

25.删除oldboy用户。

drop user oldboy@'localhost';

26.删除oldboy数据库。

drop database oldboy;
show databases;

27.使用mysqladmin关闭数据库。

mysqladmin -uroot -poldboy123 shutdown;
ps -ef|grep mysql

28.忘记密码

#多实例跳过授权表启动mysql的方法 ,注意参数顺序
mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-tables --user=mysql >/dev/null &
#登录方法
mysql -S /data/3306/mysql.sock
#进入后执行
update mysql.user set password=password("oldboy123") where user='root' and host='localhost'

29.select模糊匹配

mysql> select * from test where name like 'xiao%';
+----+----------+
| id | name |
+----+----------+
| 10 | xiaoting |
| 11 | xiaoya |
| 12 | xiaozhao |
+----+----------+
3 rows in set (0.00 sec)

MySQL常见SQL语句用法的更多相关文章

  1. MySQL · 性能优化 · MySQL常见SQL错误用法(转自-阿里云云栖社区)

    作者:阿里云云栖社区链接:https://zhuanlan.zhihu.com/p/26043916来源:知乎著作权归作者所有,转载请联系作者获得授权. 前言 MySQL在2016年仍然保持强劲的数据 ...

  2. MySQL · 性能优化 · MySQL常见SQL错误用法

    1. LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般DBA想到的办法是在type, name, create_time字段上加组合索引.这样 ...

  3. MySQL - 性能优化 & MySQL常见SQL错误用法(转载)

    1. LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如: , ; 一般DBA想到的办法是在type, name, create_time字段上加组合索引.这样条件排序 ...

  4. MySql: 常见sql语句

    1. show create table mysql> show create table t \G*************************** 1. row ************ ...

  5. 【MySQL性能优化】MySQL常见SQL错误用法

    https://yq.aliyun.com/articles/72501?utm_content=m_14899

  6. MySQL数据库SQL语句基本操作

    一.用户管理: 创建用户: create user '用户名'@'IP地址' identified by '密码'; 删除用户: drop user '用户名'@'IP地址'; 修改用户: renam ...

  7. mysql优化sql语句

    mysql优化sql语句   常见误区   www.2cto.com   误区1:   count(1)和count(primary_key) 优于 count(*)   很多人为了统计记录条数,就使 ...

  8. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

  9. Mysql常用sql语句(20)- 子查询重点知识

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 子查询语句可以嵌套在 sql 语句中任何表达式出现的位 ...

随机推荐

  1. EMMC与nand flash的区别【转】

    1.NAND Flash 是一种存储介质,要在上面读写数据,外部要加主控和电路设计. 2.eMMC是NAND flash+主控IC ,对外的接口协议与SD.TF卡类似:对厂家而言简化了电路设计,降低了 ...

  2. Codeforces #448 Div2 E

    #448 Div2 E 题意 给出一个数组,有两种类型操作: 选定不相交的两个区间,分别随机挑选一个数,交换位置. 查询区间和的期望. 分析 线段树区间更新区间求和. 既然是涉及到两个区间,那么对于第 ...

  3. Django 1.10中文文档-第一个应用Part1-请求与响应

    在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以 ...

  4. TCP/IP和UDP之间的区别(转载)

    在分析两者之间的区别之前,我们先搞清楚这两者的关系, TCP/IP协议簇  是一种网络控制协议,简单点说就是一种网络协议,我们网络中的计算机就是通过这套协议簇来进行数据通信的.这套协议簇里面包含了很多 ...

  5. Django权限管理测试

    测试内容:当我单击登录页面登录的时候页面会弹出当前用户的个人信息 当我点击提交的时候可以看到我当前用户的所有权限: 测试成功,接下来看一下后台的简单代码: class User(models.Mode ...

  6. 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](四)

    前言 上一篇<一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](三)>,我们完成了: * 引用SqlSugar * ...

  7. 好的Qt学习资料

    1.青春不老,奋斗不止!---CSDN博客地址http://blog.csdn.net/liang19890820:

  8. 应用fstream格式化输出

    我举一个我应用的例子 file.open("shoroud.jrf" ,ios_base::trunc); //打开文件,清空文件内容 if(!file.good()) { pri ...

  9. Flask连接数据库打怪升级之旅

    一.前言 在初学 Flask 的时候,在数据库连接这部分也跟每个初学者一样.但是随着工作中项目接手的多了,代码写的多了,历练的多了也就有了自己的经验和技巧.在对这块儿代码不断的进行升级改造后,整理了在 ...

  10. Mac 终端 shell 公钥失效解决办法

    mac的终端下面使用ssh user@localhost输入密码不能正常登录解决   今天回来后发现系统突然很奇怪,以前在mac的终端下面使用ssh user@localhost输入密码就可以连接到远 ...