mysql(大小写不区分)
windows 下启动 mysql 服务
- 图形界面下启动 MySQL 服务
打开>任务管理器,点击>服务列表,开启或关闭>MySQL。
- 命令行下启动 MySQL 服务
搜索>cmd
,右击>命令提示符,以管理员身份运行>cmd
,进入>MySQL 的 bin 目录, 输入>net start mysql
,开启>MySQL 服务,输入>net stop mysql
,关闭>MySQL 服务。
Windows 下进入 mysql 服务
- 首先开启 MySQL 服务。
- 在 MySQL 的 bin 目录:输入>
mysql -u root -p
密码>123456
- 退出 MySQL 的 服务:
exit
,quit
, ‘\q’
mysql 的常用命令
- 显示帮助:
mysql> help
- 单行注释:
#注释内容
- 显示版本:
mysql> select version();
- 显示状态:
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 操作
数据库操作
- 显示数据库:
mysql> show databases;
- 创建数据库:
mysql> create database runoob;
- 删除数据库:
mysql> drop database runoob;
- 使用数据库:
mysql> use fivechess;
数据表操作
- 显示数据表:
mysql> show tables;
- 删除数据表:
mysql> drop table runoob_tbl;
- 创建数据表:
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
设置编码。
数据操作
- 插入数据:
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');
- 查询数据:
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
属性来设定开始查询的数据偏移量。
- 更新数据:
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
update runoob_tbl set runoob_title='学习 C++' where runoob_id=3;
- 删除数据:
delete from table_name [where Clause]
delete from runoob_tbl where runoob_id = 1;
字段操作
- 显示字段:
SHOW COLUMNS FROM table_name;
- 添加字段:
ALTER TABLE table_name ADD field_name field_type;
- 删除字段:
ALTER TABLE table_name DROP field_name;
- 修改字段类型:
ALTER TABLE table_name MODIFY field_name field_new_type;
- 修改字段名称及类型:
ALTER TABLE table_name CHANGE field_old_name fileld_new_name field_new_type;
- 修改字段默认值:
ALTER TABLE table_name ALTER field_name SET DEFAULT value
; - 恢复字段默认值:
ALTER TABLE table_name ALTER field_name DROP DEFAULT;
- 修改表名:
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]]
参数
ASC
或DESC
:设置查询结果是按升序或降序排列。
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(大小写不区分)相关推荐
- linux 把mysql大小写关闭_linux中设置mysql大小写不去区分方法
linux中设置mysql大小写不去区分方法 发布时间:2020-05-14 12:01:31 来源:亿速云 阅读:191 作者:三月 本文主要给大家介绍linux中设置mysql大小写不去区分方法, ...
- mysql设置不区分表名大小写
MySql默认是区分表名大小的,为了不区分表名大小写,我们需要完成以下配置 十分简单 1.使用root用户,修改/etc/my.cnf文件 在[mysqld]下添加 lower_case_table_ ...
- MySQL中查询时对字母大小写的区分
我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SE ...
- mysql 判断 字母大写_MySQL中查询时对字母大小写的区分
我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SE ...
- mysql 查找小写字母_MySQL中查询时对字母大小写的区分
我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SE ...
- linux 下 mysql默认表_linux环境下mysql默认是区分表名大小写的
在linux环境下,mysql默认表明是区分大小写的,我们可以查看全局变量发现: mysql> show variables like 'lower%'; +------------------ ...
- mysql大小写区分_详解MySQL查询时区分字符串中字母大小写的方法
如果你在mysql有唯一约束的列上插入两行值'A'和'a',Mysql会认为它是相同的,而在oracle中就不会.就是mysql默认的字段值不区分大小写?这点是比较令人头痛的事.直接使用客户端用sql ...
- linux下mysql大小写区分问题
linux下mysql安装默认是区分大小写的,因此程序可能会报错 db.table 不存在: 情况一.mysql装在linux下 可以查看my.cof文件的所在位置. vim 修改my.cof 一般在 ...
- php mysql不大小写吗,PHP+MYSQL大小写有关问题
[PHP] 一.大小写敏感 1.变量名区分大小写 所有变量均区分大小写,包括普通变量以及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SER ...
最新文章
- php7 windows2008,【笔记】Windows Server2008 R2 安装 PHP7 缺少 API-ms-win-crt-runtime-l1-1-0.dll 解决方案...
- [Issue Fixed]-执行脚本时出现invalid option错误
- 【python3】通过hashlib 和base64 对字符串进行加密
- 2018.07.11 线段树基本模板复习
- 最短路径 floyd java_java实现Floyd算法求最短路径
- 微型计算机的现状历史未来,微型计算机的发展历史、现状和未来
- 中南大学2015年研究生复试淘汰率将超40%
- android 使用系统下载并更新版本,安卓系统更新升级的种方法
- numpy中takes函数
- Excel收纳箱:如何通过VBA获A列数据的最大行数
- 蓝牙发射功率dBm换算,发射总能量公式
- 施耐德m340设置ip后忘记ip,怎么恢复ip
- 【转】iOS游戏/应用的营销及推广技巧(2)
- 程序员是世界上最聪明、最具幽默感的一群人
- 外设测试 - FAN 接口测试
- 我对前端开发的粗浅认知
- 家用计算机按键不灵怎么修,电脑的键盘失灵了怎么办 台式电脑键盘失灵的处理步骤...
- js调用APP后,如果有App直接进App,没有则进入App下载页面
- influx安装和部署
- Generalizing to Unseen Domains: A Survey on Domain Generalization 论文分享
热门文章
- 分布式光纤传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 只要我不放弃,放弃的就是别人,理财开发两手抓,我可以
- 绝对剩余价值和相对剩余价值举例
- 禅道项目管理软件,敏捷开发团队不可或缺的工具
- Neotec FORGAS v10.1.5 (V10.1.1)
- android照片备份软件下载,照片备份云相册app下载-照片备份云相册 安卓版v1.9-PC6安卓网...
- 35款超级精致的256像素PNG图标
- Hyperledger Fabric1.4 多机部署(尚有问题暂未解决)
- oracle标准发票分录,07应付发票录入:标准发票录入
- 使用海思自带的i2c工具访问i2c设备