MySQL学习笔记2018-02-07更新
前言:本人wechat:YWNlODAyMzU5MTEzMTQ=。
如果内容有错,请指出来。
win10下安装
https://dev.mysql.com/downloads/mysql/
下载并解压mysql-5.7.21-winx64.zip
- 在
D:\mysql-5.7.21-winx64\
目录中新建my.ini
文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\\software\mysql-5.7.21-winx64
# 设置mysql数据的存放目录
datadir=D:\\software\mysql-5.7.21-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
- 以管理员身份运行C:\Windows\system32\cmd.exe
切换到目录D:\mysql-5.7.21-winx64\bin
生成mysql服务
D:\mysql-5.7.21-winx64\bin>mysqld -install
Service successfully installed.
生成data目录D:\mysql-5.7.21-winx64\bin>mysqld --initialize-insecure --user=mysql
启动mysql服务
D:\mysql-5.7.21-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
登录数据库(默认密码为空)D:\mysql-5.7.21-winx64\bin>mysql -uroot
修改密码
mysql> show databases; # mysql语句后面必须加分号
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> use mysql;
Database changed
mysql> update user set authentication_string=password("toor") where User="root";
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql>flush privileges; # 刷新权限
mysql>exit
Bye
关闭mysql服务
D:\mysql-5.7.21-winx64\bin>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。
Linux下安装
基本语法
- 增
# 创建数据库
mysql> create database tests charset utf8;
# 创建数据表
mysql> create table teacher(
-> id int auto_increment,
-> name char(32) not null default 'zhangsan',
-> age int not null,
-> register_date date not null,
-> primary key (id));
# 插入数据
mysql> insert into student (name,age,register_date,class) values("lema",22,"2018-02-02","201601"),
->("michael",12,"2018-02-01","201601");
# 增加一个字段classroom
mysql> alter table student add classroom int;
- 删
# 删除数据内容
mysql> delete from student where id=2;
# 删除字段
mysql> alter table student drop age;
- 查
mysql> show databases; # 显示mysql中所有数据库名称
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
mysql> use test; # 使用test数据库作为当前数据库
Database changed
mysql> show tables; # 显示当前数据库下所有表
mysql> select * from student; # 显示student表中所有字段的具体内容
mysql> select * from student\G; # 将查询结果按列打印
*************************** 1. row ***************************
stu_id: 1
name: lema
register_date: 2018-02-06
*************************** 2. row ***************************
stu_id: 2
name: alex
register_date: 2018-02-06
# 获取数据表结构
mysql> show columns from student;
mysql> desc student;
+---------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+----------+------+-----+---------+----------------+
| stu_id | int(11) | NO | PRI | NULL | auto_increment |
| name | char(32) | NO | | NULL | |
| register_date | date | NO | | NULL | |
+---------------+----------+------+-----+---------+----------------+
# 偏移量查询
mysql> select * from student limit 1;
+----+------+-----+---------------+-------+
| id | name | age | register_date | class |
+----+------+-----+---------------+-------+
| 1 | alex | 30 | 2018-02-07 | NULL |
+----+------+-----+---------------+-------+
mysql> select * from student limit 1 offset 2;
+----+---------+-----+---------------+--------+
| id | name | age | register_date | class |
+----+---------+-----+---------------+--------+
| 3 | michael | 12 | 2018-02-01 | 201601 |
+----+---------+-----+---------------+--------+
# 模糊查询
mysql> select * from student where register_date like "2018-02%";
select * from student where id>3 and age<20;
select * from student where id>3 or age<20;
- 改
# 修改字段的数据内容
mysql> update student set register_date="2017-03-01" where id=3;
# 修改字段的数据类型
mysql> alter table student modify id int not null;
# 修改字段的名称和数据类型
mysql> alter table student change id stu_id int;
- 排序
# 按照第3个字段排序
mysql> select * from student order by 3;
+----+---------+---------------+--------+------+
| id | name | register_date | class | age |
+----+---------+---------------+--------+------+
| 2 | lema | 2017-01-01 | 201602 | 12 |
| 3 | michael | 2017-03-01 | 201601 | 31 |
| 1 | alex | 2018-02-07 | 201602 | 31 |
| 4 | david | 2018-03-03 | 201703 | 34 |
| 5 | mm | 2018-09-02 | 201801 | 56 |
+----+---------+---------------+--------+------+
# 分组
mysql> select name,count(*) from student group by name;
mysql> select name,sum(age) from student group by name;
用户授权
- 用户权限管理主要有以下作用:
1.限制用户访问哪些库哪些表
2.限制用户对哪些表执行select,drop,alter,create等操作
3.限制用户登录的IP和域名
4.限制用户自己的权限是否可以授权给其它用户 - 新建用户
mysql> grant all privileges on *.* to 'lema'@'%' identified by 'toor' with grant option;
Query OK, 0 rows affected, 1 warning (0.52 sec)
mysql> flush privileges; # 刷新权限
Query OK, 0 rows affected (0.14 sec)
# all privileges:将所有权限授予用户,也可以指定具体权限,如select,create等
# *.*:应用到所有数据库所有表,数据库名.表名
# 'lema'@'%':'用户名'@'IP或域名',%表示任意主机
# identified by 'toor':设置登录密码
# with grant option:允许用户将自己的权限授予其它用户
- 查看用户权限&删除权限
mysql> show grants for "root"@"localhost";
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> revoke create on *.* from 'lema'@'localhost';
Query OK, 0 rows affected (0.00 sec)
- 查看所有用户&删除用户&用户重命名
mysql> select host,user from mysql.user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| localhost | lema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
4 rows in set (0.00 sec)
mysql> drop user 'lema'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> rename user 'lemachin'@'localhost' to 'lema'@'localhost';
Query OK, 0 rows affected (0.00 sec)
- 修改密码
# 更新mysql.user表
mysql> update mysql.user set authentication_string=password('toor') where user='lema';
# 用set password命令
mysql> set password for 'lema'@'localhost' =password('toor');
# mysqladmin位于bin目录下
D:\mysql-5.7.21-winx64\bin>mysqladmin -ulema -proot password toor
MySQL学习笔记2018-02-07更新的更多相关文章
- mysql basic operation,mysql总结,对mysql经常使用语句的详细总结,MySQL学习笔记
mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显示数据库列表.show d ...
- 一千行MySQL学习笔记 (转)
出处: 一千行MySQL学习笔记 /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权 ...
- MySql学习笔记(一)之DQL常用查询
MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前, ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
- MySQL学习笔记-锁相关话题
在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因. Mysql常用存储引擎的锁 ...
- MySQL学习笔记-事务相关话题
事务机制 事务(Transaction)是数据库区别于文件系统的重要特性之一.事务会把数据库从一种一致状态转换为另一个种一致状态.在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都 ...
- 【mysql学习笔记整理】
/*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作#创建#数据库的创建USE mysql;CREATE DATABASE db_x;#删除#删除数据库DROP DATABASE ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- MySql学习笔记四
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...
随机推荐
- 访问hdfs里的文件
准备工作: 给hdfs里上传一份用于测试的文件 [root@master ~]# cat hello.txt hello 1 hello 2 hello 3 hello 4 [root@master ...
- windows7下RabbitMQ的安装
一.下载资源 Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang.(在官网自行选择版本) 1.otp_win64_20.2.exe 下载地 ...
- 通信—HTTP 协议入门(转载)
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等). HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于199 ...
- NUnit TestFixtureSetup 和 TestFixtureTearDown
TestFixtureSetup 和 TestFixtureTearDown 在所有测试开始前(TestFixtureSetup)或结束后(TestFixtureTearDown)运行一 次.记住他只 ...
- appium server日志分析
文章出处http://blog.csdn.net/yan1234abcd/article/details/60765295 每次运行测试,可以从Appium Server控制台看到有特别多的日志输出, ...
- python16_day14【jQuery】
一.作用域 1.作用域例一 <script> var str = "global"; //AO1 AO1.str function t(age){ console.lo ...
- HDU - 6370 Werewolf 2018 Multi-University Training Contest 6 (DFS找环)
求确定身份的人的个数. 只能确定狼的身份,因为只能找到谁说了谎.但一个人是否是民,无法确定. 将人视作点,指认关系视作边,有狼边和民边两种边. 确定狼的方法只有两种: 1. 在一个仅由一条狼边组成的环 ...
- linux比较两个文件的不同(6/21)
cmp 命令:比较任意两个类型的文件,且吧结果输出到标准输出,默认文件相同不输出,不同的文件输出差异 必要参数 -c 显示不同的信息-l 列出所有的不同信息-s 错误信息不提示 选择参数 -i< ...
- Docker 使用指南 —— 基本操作
Docker 是一个能够把开发应用程序自动部署到容器的开源引擎.它由Docker公司的团队编写,基于Apache 2.0开源协议授权.它提供了一个简单.轻量的建模方式,使开发生命周期更高效快速,鼓励了 ...
- 认识shiro
shiro是安全(权限)框架,不仅可以在javase中也可以在javaee中 shiro可以完成认证.授权.加密.会话管理,与web进行集成.缓存等. Authentication:身份认证/登录,验 ...