1.登录mysql数据库_(1)mysql数据库操作

1.安装mysql

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

39d1d1f1b004f671ef2545c24044d284.png

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();  #记得加分号

7e38bb68b98005cfb0efb4ae4f01143f.png

(2)计算器

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

e3fb5d6dff7bacef6417573df77de5b7.png

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

10e9e16bba28f2d6f7eeefeb5c702431.png

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

50250ca8ee3fa449d3c057b69222a91a.png

(5)取消输入

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

9149ca8f6a2bea31d9484f26c8d1641a.png

e41e664c9cbfd9f6ff82ce5a7a8be7f2.png

(6)提示符含义

ec8aba67bc42fa6eb98172a402ad962a.png

5.创建数据库

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

show databases;

007d4542ebda8652e652e788619d1e10.png

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) 函数计算出了年龄

b44218558a8ac30149f8c8af82177e27.png

(9)null

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

d4b5deaab1dd99977e1d85fa10d97940.png

f4d4cd8ea508101bef15cebdffa4a937.png

698e11f760d38dd213489b2514b23f76.png

(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)利用正则表达式函数匹配查询

a724ce4bcd3ecd45b8bd1ae1499fe18e.png

查找以'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;

b1aded3949c87cf5ec04b55cc91eb4ae.png

(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;

查询最大值所在行

SELECTarticle, dealer, priceFROMshopWHERE price=(SELECT MAX(price) FROM shop);

查询每组最大值所在行

SELECT article, MAX(price) ASpriceFROMshopGROUP BY article;

6.设置密码

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

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

存储引擎

作用:???

show engines;

存储引擎的选择

???

远程连接

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

d370cb077813c86d82cb30d142e9d33a.png

使用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时

59f0f6240d20c821736bae85507aeba1.png

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

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

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

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值