(1)mysql数据库操作
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数据库操作的更多相关文章
- php : mysql数据库操作类演示
设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...
- php MySQL数据库操作类源代码
php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...
- 设计模式 - 单例模式mysql数据库操作类
待续... index.php 调用方法: <?php header('Content-Type:text/html; charset=utf8'); require 'instance.php ...
- MySQL数据库操作常用命令
MySQL数据库操作常用命令DOS连接数据库1.安装MySQL配置好环境2.运行cmd命令net start mysql3.找到mysql文件根目录输入命令mysql -h localhost -u ...
- Python/MySQL(四、MySQL数据库操作)
Python/MySQL(四.MySQL数据库操作) 一.数据库条件语句: case when id>9 then ture else false 二.三元运算: if(isnull(xx)0, ...
- Java通过JDBC 进行MySQL数据库操作
转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...
- Mysql 数据库操作之DDL、DML、DQL语句操作
Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l Show databases 查看数据库列表信息 l 查看数据库中的数据表信息 ,格式: use 数据库名: sh ...
- Python进行MySQL数据库操作
最近开始玩Python,慢慢开始喜欢上它了,以前都是用shell来实现一些自动化或者监控的操作,现在用Python来实现,感觉更棒,Python是一门很强大的面向对象语言,所以作为一个运维DBA或者运 ...
- Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- co ...
- (转载)常用的Mysql数据库操作语句大全
打开CMD,进入数据库命令:mysql -hlocalhost -uroot -p 退出数据库:exit 用户管理: 1.新建用户: >CREATE USER name IDENTIFIED B ...
随机推荐
- 打开桌面上的图标就会弹出"打开些文件可能会对您的计算机有害"解决方案
问题截图 方案步骤 运行 gpedit.msc 用户配置--管理模板--windows组件--附件管理器 找到中等危险文件类型抱含列表后右键-编辑 在指定中等风险扩展名中加入你文件的扩展名 应用, 确 ...
- SQL Server SQLBindCol
说明 编辑 版本引入:ODBC 1.0 遵从标准:ISO 92 功能说明: SQLBindCol将应用程序的数据缓冲绑定到结果集的各列 函数原型: SQLRETURN SQLBindCol( SQLH ...
- 在DELPHI中显示GIF动画
想没想过在DELPHI中显示GIF动画?Delphi的用户是非常幸运的,因为有免费控件可以使用.最著名的控件是Anders Melander编写的TGifImage,并提供完整的源程序.它原来的主页是 ...
- C语言itoa()函数和atoi()函数详解(整数转字符C实现)【转载】
文章转载自https://www.cnblogs.com/bluestorm/p/3168719.html C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. ...
- P1613 跑路(倍增)
P1613 跑路(倍增) 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十 ...
- 报错:[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the paren
今天在做Vue的时候,子组件关闭的时候,报如下错误 报错:vue.esm.js?65d7:610 [Vue warn]: Avoid mutating a prop directly since th ...
- hexo换了电脑,怎么办?
个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 背景: 今天公司的苹果电脑硬件升级,之前看过h ...
- sizeof,真正终结版GCC与VC
在VC6.0中sizeof结果是16.我电脑上装了个linux虚拟机,在虚拟机上GCC中结果是12, 恩不同编译器默认对齐数值不一样. VC 默认为 8 gcc 默认为 4 有个编译参数控制对齐. # ...
- 在Debian中安装VNC Server
大部分情况下我们用ssh就可以登录linux服务器了.但有时候我们的程序需要在图形界面下运行,这时我们就要用到vnc server这个软件了. 在Debian下安装vnc server很简单的,只要几 ...
- HDU1556-Color the ball-前缀和/线段树/树状数组
N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色.但 ...