windows 下启动 mysql 服务

  1. 图形界面下启动 MySQL 服务

打开>任务管理器,点击>服务列表,开启或关闭>MySQL。

  1. 命令行下启动 MySQL 服务

搜索>cmd,右击>命令提示符,以管理员身份运行>cmd,进入>MySQL 的 bin 目录, 输入>net start mysql,开启>MySQL 服务,输入>net stop mysql,关闭>MySQL 服务。

Windows 下进入 mysql 服务

  1. 首先开启 MySQL 服务。
  2. 在 MySQL 的 bin 目录:输入>mysql -u root -p 密码>123456
  3. 退出 MySQL 的 服务:exit, quit, ‘\q’

mysql 的常用命令

  1. 显示帮助:mysql> help
  2. 单行注释:#注释内容
  3. 显示版本:mysql> select version();
  4. 显示状态:mysql> status

mysql 默认配置文件

查询配置目录:select @@basedir;
查询数据目录:select @@datadir;
查询数据库编码:show variables like 'char%';


MySQL 数据类型

MySQL支持多种类型,大致可以分为三类:数值、日期/时间、字符类型。

  • 数值类型
类型 大小 范围(有符号) 范围(无符号) 用途
tinyint 1 bytes (-128,127) (0,255) 小整数值
smallint 2 bytes (-32 768,32 767) (0,65 535) 大整数值
mediumint 3 bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
integer 4 bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
bigint 8 bytes (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
float 4 bytes (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度浮点数值
double 8 bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度浮点数值
decimal 对 decimal(M,D),如果M>D,为M+2,否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值
  • 日期和时间类型
    表示时间值的日期和时间类型为datetime、date、timestamp、time和year。
类型 大小 范围 格式 用途
date 3 bytes 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
time 3 bytes ‘-838:59:59’/‘838:59:59’ HH:MM:SS 时间值或持续时间
year 1 bytes 1901/2155 YYYY 年份值
datetime 8 bytes 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
timestamp 4 types 1970-01-01 00:00:00/2038 YYYYMMDD HHMMSS 混合日期和实践值,时间戳
  • 字符串类型
    字符串类型指char、varchar、binary、varbinary、blob、text、enum、set。
类型 大小 用途
char 0~255 bytes 定长字符串
varchar 0~65535 bytes 变长字符串
tinyblob 0~255 bytes 不超过255个字符的二进制字符串
tinytext 0~255 bytes 短文本字符串
blob 0~65 535 bytes 二进制形式的长文本数据
text 0~65 535 bytes 长文本数据
mediumblob 0~ 16 777 215 bytes 二进制形式的中等长度文本数据
mediumtext 0~16 777 215 bytes 中等长度文本
longblob 0~4 294 967 295 bytes 二进制形式的极大文本数据
longtext 0~4 294 967 295 bytes 极大文本数据

char(n) 和 varchar(n) 中括号中n代表字符的个数,并不代表字节个数,比如char(30)就可以存储30个字符。


MySQL 操作

数据库操作

  1. 显示数据库:mysql> show databases;
  2. 创建数据库:mysql> create database runoob;
  3. 删除数据库:mysql> drop database runoob;
  4. 使用数据库:mysql> use fivechess;

数据表操作

  1. 显示数据表:mysql> show tables;
  2. 删除数据表:mysql> drop table runoob_tbl;
  3. 创建数据表:
create table if not exists `runoob_tbl`(`runoob_id` int unsigned auto_increment,`runoob_title` varchar(100) not null,`runoob_author` varchar(40) not null,`submission_date` date,primary key ( `runoob_id` )
)engine=innodb default charset=utf8;
  • auto_increment定义列为自增的属性,一般用于主键,数值会自动加1.
  • primary key关键字用于定义列为主键。
  • engine设置存储引擎,charset设置编码。

数据操作

  1. 插入数据:
insert into runoob_tbl
(runoob_title, runoob_author, submission_date)
VALUES ("学习 PHP", "菜鸟教程", NOW());insert into runoob_tbl
(runoob_title, runoob_author, submission_date)
values ("JAVA 教程", "RUNOOB.COM", '2016-05-06');
  1. 查询数据:
select column_name,column_name
from table_name
[where Clause]
[limit N][offset M]select * from runoob_tbl limit 5;  #检索前5个记录行
select * from runoob_tbl limit 3,5; #检索记录行4~8
select * from runoob_tbl limit 5 offset 3; #检索记录行4~8
  • limit 属性来设定返回的记录数。
  • offset属性来设定开始查询的数据偏移量。
  1. 更新数据:UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
update runoob_tbl set runoob_title='学习 C++' where runoob_id=3;
  1. 删除数据:delete from table_name [where Clause]
delete from runoob_tbl where runoob_id = 1;

字段操作

  1. 显示字段:SHOW COLUMNS FROM table_name;
  2. 添加字段:ALTER TABLE table_name ADD field_name field_type;
  3. 删除字段:ALTER TABLE table_name DROP field_name;
  4. 修改字段类型:ALTER TABLE table_name MODIFY field_name field_new_type;
  5. 修改字段名称及类型:ALTER TABLE table_name CHANGE field_old_name fileld_new_name field_new_type;
  6. 修改字段默认值:ALTER TABLE table_name ALTER field_name SET DEFAULT value;
  7. 恢复字段默认值:ALTER TABLE table_name ALTER field_name DROP DEFAULT;
  8. 修改表名:ALTER TABLE table_name RENAME TO alter_tbl;
show columns from runoob_tbl; #显示字段
alter table runoob_tbl add runoob_price int; #添加字段
alter table runoob_tbl drop runoob_price; #删除字段
alter table runoob_tbl modify runoob_price char(10); #修改字段类型
alter table runoob_tbl change runoob_price price int; #修改字段名称及类型
alter table runoob_tbl alter runoob_price set default 1000; #修改字段默认值
alter table runoob_tbl alter runoob_price drop default; #恢复字段默认值
alter table runoob_tbl rename to alter_tbl; #修改表名

where 条件

select field1, field2,...fieldN
from table_name1, table_name2...
[where condition1 [and [or]] condition2.....
  • 可以使用and或者or指定一个或多个条件。

like 子句
select field1, field2,...fieldN from table_name where field1 like condition1 [and [or]] filed2 = 'somevalue'

select * from runoob_tbl where runoob_author like '%com'
  • link通常用于where子句中。
  • 可以使用link子句代替=
  • link%一同使用,%表示任意字符,类似与一个一元字符的搜索。

union 连接

语法

SELECT expression1, expression2, … expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, … expression_n
FROM tables
[WHERE conditions];

参数

  • DISTINCT:可选,删除结果集中重复的数据。
  • ALL:可选,返回所有结果集,包含重复数据。

order by 排序

语法

SELECT field1, field2,…fieldN FROM table_name1, table_name2…
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2…] [ASC [DESC][默认 ASC]]

参数

  • ASCDESC:设置查询结果是按升序或降序排列。

group by 分组

语法

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;

MySQL 连接

可以在 SELECT, UPDATE 和 DELETE 语句中使用 MySQL 的 JOIN 来联合多表查询。


MySQL 事务

数据库事务(transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。

  • 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
  • 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
  • 事务用来管理 insert、update、delete 语句。

一般来说,事务是必须满足4个条件(ACID):原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

在 MySQL 命令行的默认设置下,事务都是自动提交的,即执行 SQL 语句后就会马上执行 COMMIT 操作。因此要显式地开启一个事务务须使用命令 BEGIN 或 START TRANSACTION,或者执行命令 SET AUTOCOMMIT=0,用来禁止使用当前会话的自动提交。

MySQL事务处理主要有两种方法:
1、用 BEGIN,ROLLBACK,COMMIT来实现

  • BEGIN 开始一个事务
  • ROLLBACK 事务回滚
  • COMMIT 事务确认

2、直接用 SET 来改变 MySQL 的自动提交模式

  • SET AUTOCOMMIT=0 禁止自动提交
  • SET AUTOCOMMIT=1 开启自动提交

3、可以设置保留点 SAVEPOINT,执行多条操作时,回滚到想要的那条语句之前。

  • SAVEPOINT point_name 设置保留点
  • ROLLBACK TO point_name 回滚到保留点
  • RELEASE SAVEPOINT savepoint_name 删除指定保留点

保留点再事务处理完成(执行一条 ROLLBACK 或 COMMIT)后自动释放。

CREATE TABLE table_name ( ) ENGINE=InnoDB;

BEGIN; #开始事务
…… #insert,update,delete
COMMIT; #提交事务BEGIN; #开始事务
…… #insert,update,delete
ROLLBACK; #回滚到开始事务BEGIN; #开始事务
…… #insert,update,delete
SAVEPOINT savepoint_name; #声明一个 savepoint
……#insert,update,delete
ROLLBACK TO savepoint_name; #回滚到 savepoint

MySQL 导出数据

数据导入导出时报错:

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

报错原因:
MySQL 文件的导入和导出路径有默认设置,即 secure-file-priv。当传入的文件路径与默认路径冲突时就会报错。

三种情况:

  • secure-file-priv = null 限制 MySQL 不允许导入导出
  • secure-file-priv = /path/ 限制 MySQL 的导入导出只能发生在默认的 /path/ 目录下
  • secure-file-priv = ’ ’ 不对 MySQL 的导入导出做限制

查看 secure-file-priv 设置:SHOW VARIABLES LIKE '%secure%';

(https://www.cnblogs.com/RayWang/p/9347874.html)
(https://www.cnblogs.com/RayWang/p/9347874.html)

MySQL 导入数据

mysql(大小写不区分)相关推荐

  1. linux 把mysql大小写关闭_linux中设置mysql大小写不去区分方法

    linux中设置mysql大小写不去区分方法 发布时间:2020-05-14 12:01:31 来源:亿速云 阅读:191 作者:三月 本文主要给大家介绍linux中设置mysql大小写不去区分方法, ...

  2. mysql设置不区分表名大小写

    MySql默认是区分表名大小的,为了不区分表名大小写,我们需要完成以下配置 十分简单 1.使用root用户,修改/etc/my.cnf文件 在[mysqld]下添加 lower_case_table_ ...

  3. MySQL中查询时对字母大小写的区分

    我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SE ...

  4. mysql 判断 字母大写_MySQL中查询时对字母大小写的区分

    我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SE ...

  5. mysql 查找小写字母_MySQL中查询时对字母大小写的区分

    我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SE ...

  6. linux 下 mysql默认表_linux环境下mysql默认是区分表名大小写的

    在linux环境下,mysql默认表明是区分大小写的,我们可以查看全局变量发现: mysql> show variables like 'lower%'; +------------------ ...

  7. mysql大小写区分_详解MySQL查询时区分字符串中字母大小写的方法

    如果你在mysql有唯一约束的列上插入两行值'A'和'a',Mysql会认为它是相同的,而在oracle中就不会.就是mysql默认的字段值不区分大小写?这点是比较令人头痛的事.直接使用客户端用sql ...

  8. linux下mysql大小写区分问题

    linux下mysql安装默认是区分大小写的,因此程序可能会报错 db.table 不存在: 情况一.mysql装在linux下 可以查看my.cof文件的所在位置. vim 修改my.cof 一般在 ...

  9. php mysql不大小写吗,PHP+MYSQL大小写有关问题

    [PHP] 一.大小写敏感 1.变量名区分大小写 所有变量均区分大小写,包括普通变量以及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SER ...

最新文章

  1. php7 windows2008,【笔记】Windows Server2008 R2 安装 PHP7 缺少 API-ms-win-crt-runtime-l1-1-0.dll 解决方案...
  2. [Issue Fixed]-执行脚本时出现invalid option错误
  3. 【python3】通过hashlib 和base64 对字符串进行加密
  4. 2018.07.11 线段树基本模板复习
  5. 最短路径 floyd java_java实现Floyd算法求最短路径
  6. 微型计算机的现状历史未来,微型计算机的发展历史、现状和未来
  7. 中南大学2015年研究生复试淘汰率将超40%
  8. android 使用系统下载并更新版本,安卓系统更新升级的种方法
  9. numpy中takes函数
  10. Excel收纳箱:如何通过VBA获A列数据的最大行数
  11. 蓝牙发射功率dBm换算,发射总能量公式
  12. 施耐德m340设置ip后忘记ip,怎么恢复ip
  13. 【转】iOS游戏/应用的营销及推广技巧(2)
  14. 程序员是世界上最聪明、最具幽默感的一群人
  15. 外设测试 - FAN 接口测试
  16. 我对前端开发的粗浅认知
  17. 家用计算机按键不灵怎么修,电脑的键盘失灵了怎么办 台式电脑键盘失灵的处理步骤...
  18. js调用APP后,如果有App直接进App,没有则进入App下载页面
  19. influx安装和部署
  20. Generalizing to Unseen Domains: A Survey on Domain Generalization 论文分享

热门文章

  1. 分布式光纤传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  2. 只要我不放弃,放弃的就是别人,理财开发两手抓,我可以
  3. 绝对剩余价值和相对剩余价值举例
  4. 禅道项目管理软件,敏捷开发团队不可或缺的工具
  5. Neotec FORGAS v10.1.5 (V10.1.1)
  6. android照片备份软件下载,照片备份云相册app下载-照片备份云相册 安卓版v1.9-PC6安卓网...
  7. 35款超级精致的256像素PNG图标
  8. Hyperledger Fabric1.4 多机部署(尚有问题暂未解决)
  9. oracle标准发票分录,07应付发票录入:标准发票录入
  10. 使用海思自带的i2c工具访问i2c设备