1.安装mysql

https://dev.mysql.com/downloads/windows/installer/8.0.html

2.mysql启停

运行mysql         net start mysql 
停止mysql         net stop mysql

3.cmd登录mysql

mysql -h ip -u root -p(本地登录可以省略 -h 127.0.0.1 ??)

mysql -h ip -u root -p  dbname

4.查询

(1)查询版本号及时间

select version(),now();  #记得加分号

(2)计算器

select 1+2,upper('abc');

(3)一行输入多个语句,用分号分割

(4)允许换行,直到遇到分号才算是语句结束

(5)取消输入

用\c 或者 ctrl +c   取消正在输入的sql语句

(6)提示符含义

5.创建数据库

(1)查看现有数据库列表

show databases;

mysql数据库描述了用户访问权限

(2)创建数据库

create database name;

(3)选择数据库

首先要选择使用哪个数据库

USE world;

(4)删除数据库

drop database name;

(5)创建表

CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

(6)查看表

SHOW TABLES;

(7)查看表明细

DESCRIBE tablename;

(8)插入数据

INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

(9)更新

 6.查询2

(1)查询全部

SELECT * FROM pet;

(2)查询指定行

SELECT * FROM pet WHERE name = 'Bowser';

(3)使用and 和or 多条件查询

SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm') OR (species = 'dog' AND sex = 'f');

(4)查询指定列

SELECT name, birth FROM pet;

(5)排重查询

SELECT DISTINCT owner FROM pet;

(6)排序查询

 SELECT name, birth FROM pet ORDER BY birth;

默认为升序。 降序 字段后加 DESC

(7)多列排序

SELECT name, species, birth FROM pet  ORDER BY species, birth DESC;

(8)日期计算

SELECT name, birth, death, TIMESTAMPDIFF(YEAR,birth,death) AS age FROM pet WHERE death IS NOT NULL ORDER BY age;
这里用 TIMESTAMPDIFF(YEAR,birth,death) 函数计算出了年龄

(9)null

对于查找null不能用算数运算符做比较,必须使用 is null 或 is not null

(10)模糊查询

查找以'b'开头的字符串

SELECT * FROM pet WHERE name LIKE 'b%';

查找以'fy'结尾的字符串

SELECT * FROM pet WHERE name LIKE '%fy';

查找包含'w'的字符串

SELECT * FROM pet WHERE name LIKE '%w%';

查找五个字符的字符串

SELECT * FROM pet WHERE name LIKE '_____';

(11)利用正则表达式函数匹配查询

查找以'b'开头的字符串

SELECT * FROM pet WHERE REGEXP_LIKE(name, '^b');

查找以‘fy’结尾的字符串

SELECT * FROM pet WHERE REGEXP_LIKE(name, 'fy$');

查找包含'w'的字符串

SELECT * FROM pet WHERE REGEXP_LIKE(name, 'w');

查找五个字符的字符串

SELECT * FROM pet WHERE REGEXP_LIKE(name, '^.....$');

(12)统计行数

SELECT COUNT(*) FROM pet;

分组统计

SELECT owner, COUNT(*) FROM pet GROUP BY owner;

每种物种和性别组合的动物数量:

SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;

(12)多表查询

INNER JOIN

SELECT p1.name, p1.sex, p2.name, p2.sex, p1.species FROM pet AS p1 INNER JOIN pet AS p2 ON p1.species = p2.species AND p1.sex = 'f' AND p2.sex = 'm';

7 批处理

D:\Users\Aven>mysql -uroot -p < F:\Publish\Data\share_update.sql

8.常见查询

查询最大值

SELECT MAX(article) AS article FROM shop;

查询最大值所在行

SELECT article, dealer, price
FROM shop
WHERE price=(SELECT MAX(price) FROM shop);

查询每组最大值所在行

SELECT article, MAX(price) AS price
FROM shop
GROUP BY article;

6.设置密码

非常有用的mysql启动参数—— --skip-grant-tables。 顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢?当然是忘记管理员密码后有用。

配置文件中加上skip-grant-tables,然后重启mysql服务,

存储引擎

作用:???

show engines;

存储引擎的选择

???

 

远程连接

默认密码为空就能远程连接上

使用mysql数据库

use mysql;

将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。  (改表法)

update user set host = '%' where user = 'root';

设置远程连接密码(授权法)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by 'password' WITH GRANT OPTION; 

第一个 * 代表所有数据库,可以换成指定数据库

第二个* 估计代表所有表,

@前的' ' 里是用户名

@后的' '里代表主机, %表示所有主机, 可以指定ip地址。

identified by 'password' :表示设置远程登录密码

安装mysql8.0时

1. 使用强密码加密授权(推荐)

8.0提供的心的授权方式,采用SHA256基础的密码加密方法.

但是需要新版本的connector,目前和Connector/J最新的时8.0

目前8.0的连接器和使用libmysqlclient8.0的社区驱动都支持这种新方法.

如果客户端和应用程序不能更新来支持这种新授权方法,可以选择使用传统方法.

2.传统授权方法(保留5.x版本兼容性)

只有在以下几种方法中考虑传统方法:

-应用程序无法升级来使用MySQL 8的connector和driver.(连接器和驱动).

-现存应用程序重编译是不可行的.

-新版的,特定语言的connector/driver还不可用.

(1)mysql数据库操作的更多相关文章

  1. php : mysql数据库操作类演示

    设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...

  2. php MySQL数据库操作类源代码

    php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...

  3. 设计模式 - 单例模式mysql数据库操作类

    待续... index.php 调用方法: <?php header('Content-Type:text/html; charset=utf8'); require 'instance.php ...

  4. MySQL数据库操作常用命令

    MySQL数据库操作常用命令DOS连接数据库1.安装MySQL配置好环境2.运行cmd命令net start mysql3.找到mysql文件根目录输入命令mysql -h localhost -u ...

  5. Python/MySQL(四、MySQL数据库操作)

    Python/MySQL(四.MySQL数据库操作) 一.数据库条件语句: case when id>9 then ture else false 二.三元运算: if(isnull(xx)0, ...

  6. Java通过JDBC 进行MySQL数据库操作

    转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...

  7. Mysql 数据库操作之DDL、DML、DQL语句操作

    Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l  Show databases 查看数据库列表信息 l  查看数据库中的数据表信息 ,格式: use 数据库名: sh ...

  8. Python进行MySQL数据库操作

    最近开始玩Python,慢慢开始喜欢上它了,以前都是用shell来实现一些自动化或者监控的操作,现在用Python来实现,感觉更棒,Python是一门很强大的面向对象语言,所以作为一个运维DBA或者运 ...

  9. Python3:sqlalchemy对mysql数据库操作,非sql语句

    Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- co ...

  10. (转载)常用的Mysql数据库操作语句大全

    打开CMD,进入数据库命令:mysql -hlocalhost -uroot -p 退出数据库:exit 用户管理: 1.新建用户: >CREATE USER name IDENTIFIED B ...

随机推荐

  1. 读书笔记一、numpy基础--创建数组

    创建ndarray   (1)使用array函数 接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的numpy数组. import numpy as np #将一个由数值组成列表作为 ...

  2. hdu5421 Victor and String 回文树(前后插入)

    题目传送门 题意:对一个字符串支持四种操作,前插入字符,后插入字符,询问本质不同的回文串数量和所有回文串的数量. 思路: 就是在普通回文树的基础上,维护suf(最长回文后缀)的同时再维护一个pre(最 ...

  3. BIO、NIO和AIO

    BIO(Blocking I/O)同步阻塞I/O 这是最基本与简单的I/O操作方式,其根本特性是做完一件事再去做另一件事,一件事一定要等前一件事做完,这很符合程序员传统的顺序来开发思想,因此BIO模型 ...

  4. Delphi 日期函数列表

    引用单元 :DateUtils CompareDate 比较两个日期时间值日期部分的大小CompareDateTime 比较两个日期时间值的大小CompareTime 比较两个日期时间值时间部分的大小 ...

  5. delphi 获取本机IP地址和MAC地址 (转)

    unit NetFunc; interface uses SysUtils, Windows, dialogs, winsock, Classes, ComObj, WinInet, Variants ...

  6. 二分图染色+分组背包+bitset优化——hdu5313

    首先就是求联通块,每个联通块里记录两个部分的元素个数 目标是使一边的体积接近n/2 那么每个联通块作为一组,进行分组背包,dp[i]表示体积i是否可以被凑出来,可行性背包是可以用bitset优化的 最 ...

  7. delphi DrawText 的用法

    DrawText(hDC: HDC; {设备句柄}lpString: PChar; {文本}nCount: Integer; {要绘制的字符个数; -1 表示全部}var lpRect: TRect; ...

  8. LeetCode 1041. Robot Bounded In Circle (困于环中的机器人)

    题目标签:Math 题目让我们判断机器人是否是一直在走一个圈. 当我们把 instructions 走完一遍时候: 1. 如果机器人回到了原点,那么它是在走一个圈. 2. 如果机器人的方向没有改变,那 ...

  9. 【转】Linux(CentOS) vps安装xfce桌面+VNC

    以前我发过一篇文章利用vnc远程连接VPS桌面,其中用到的是kde桌面,后来知道xfce总体来说比kde占得内存还小些,因为xfce轻便.简单,今天因为一些原因需要在我的vps上搭建用户桌面,所以就试 ...

  10. 10.1 Nested vectored interrupt controller (NVIC) 嵌套矢量中断控制器

    特点 60个可屏蔽中断通道(不包含16个Cortex™-M3的中断线): 16个可编程的优先等级(使用了4位中断优先级): 低延迟的异常和中断处理: 电源管理控制: 系统控制寄存器的实现: 1. 中断 ...