mysql 安时间查询格式_MySQL 安装使用笔记

MySQL 安装使用笔记

安装

国内镜像地址也有很多。

配置环境变量

新添加系统变量:

变量名: MYSQL_HOME

变量值: 安装路径(解压路径)

生成 data 文件

以管理员身份运行 cmd

进入安装目录\bin>文件夹下

执行命令: mysqld --initialize-insecure --user=mysql

安装MySQL:

mysqld -install

启动服务:

net start MySQL

登陆MySQL

因为之前没有设置密码,所以密码为空,不用输入密码,直接回车。

d:\mysql-8.0.12\bin\mysql -u root -p

回车

基础常用命令

查看服务器版本

select version();

查看所有数据库

show databases;

切换指定数据库

use 数据库名;

查看该数据库下的表

show tables;

获取帮助

? contents;

? functins;

? numeric functions;

? round;

? data types;

? longblob;

======

操作命令

数据库

查看当前有哪些DB: show databases;

添加DB: create databases 数据库名称;

删除DB: drop databases 数据库名称;

数据类型

文本类

数据类型

描述

CHAR(size)

保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。

VARCHAR(size)

保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。

注释: 如果值的长度大于 255,则被转换为 TEXT 类型。

TINYTEXT

存放最大长度未 255 个字符的字符串。

TEXT

存放最大长度为 65535 个字符的字符串。

BLOB

用于 BLOBs(Binary Large OBjects)。存放最多 65535 字节的数据。

MEDIUMTEXT

存放最大长度为 16,777,215 个字符的字符串。

MEDIUMBLOB

用于 BLOBs(Binary Large OBjects)。存放最多 16,777,215 个字符的字符串。

LONGTEXT

存放最大长度为 4,294,967,295 个字符的字符串。

LONGBLOB

用于 BLOBs(Binary Large OBjects)。存放最多 4,294,967,295 个字符的字符串。

ENUM(x,y,z,etc.)

允许你输入可能值的列表,可以在 ENUM 列表中列出最大 65535 个值。 如果列表中不存在插入的值,则插入空值。

注释:这些值是按照你输入的顺序存储的。

可以按照此格式输入可能的值: ENUM('x','y','z')

SET

与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。

数字类

数据类型

描述

TINYINT(size)

-128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。

SMALLINT(size)

-32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。

MEDIUMINT(size)

-8388608 到 8388607 普通。0 到 16777215 无符号*。在括号中规定最大位数。

INT(size)

-2147483648 到 2147483647 常规。0 到 4294967295 无符号*。在括号中规定最大位数。

BIGINT(size)

-9223372936854775808 到 9223372936854775808 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。

FLOAT(size,d)

带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数右侧的最大位数。

DOUBLE(size,d)

带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数右侧的最大位数。

DECIMAL(size,d)

作为字符串存储的 DOUBLE 类型,允许固定的小数点。

日期类

数据类型

描述

DATE()

日期。格式:YYYY-MM-DD

注释:支持的范围从 "1000-01-01" 到 "9999-12-31"

DATETIME()

*日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS

注释:支持的范围是从 "1000-01-01 00:00:00" 到 "9999-12-31 23:59:59"

TIMESTAMP()

*时间戳。TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC)至今的描述来存在。格式:YYYY-MM-DD HH:MM:SS

注释:支持的范围是从 "1970-01-01 00:00:01" UTC 到 "2038-01-09 03:14:07" UTC

TIME()

时间。格式:HH:MM:SS 注释:支持的范围是从 "-838:59:59" 到 "838:59:59"

YEAR()

2 位或 4 位格式的年。

注释:4位格式所允许的值: 1901 到 2155。2 位格式所允许的值: 70 到 69 ,表示从 1970 到 2069。

数据表

创建数据表 table

creat table table_name(

colum_name data_type,

colum_name data_type,

.

.

.

colum_name data_type,

);

实例:

creat table account(

id bigint(20),

createTime datatime,

ip varchar(255),

mobile varchar(255),

nickname varchar(255),

username varchar(255),

brief text,

);

删除数据表 table

drop table table_name;

describe table_name; 可以输出表的描述信息

增加、删除列

增加列

alter table 【table_name】 add 【column_name】 【data_ytpe】 [not null] [default]

例如:

alter table account add c1 int(11) not null default 1;

在 account 表中加 c1 列,并指定位 int 类型,且不为空,默认值为 1

删除列

alter table 【table_name】drop 【column_name】

例如:

alter table account drop c1;

修改某个数据列的名字或者数据类型

修改列信息

alter table 【table_name】change 【old_column_name】 【new_column_name】 【data_type】

1. 只改列名:

data_type 和原来一样, old_column_name != new_column_name

2. 只改数据类型:

old_column_name == new_column_name, data_type 改变

3. 列名和数据类型都改了

修改表名

alter table 【table_name】rename 【new_table_name】

例如:

alter table account rename newaccount;

查看或插入表数据

查看表数据

select * from table_name;

select col_name1,col_name2, ... from table_name;

插入数据

insert into 【table_name】 values(value1,value2, ...)

insert into 【table_name】 (col1,col2,...) values(value1,value2, ...)

where 条件查询

语法

select * from table_name where col_name 运算符 值

例如:

select * from book where title = 't';

运算符

运算符

描述

=

等于

!=

不等于

>

大于

<

小于

>=

大于等于

<=

小于等于

between

在两个值范围内

like

按某个模式查找

组合条件 and 和 or

where 后面可以通过 and 与 or 运算符组合多个条件筛选

语法:

select * from table_name where col1 = xxx and col2 = xx or col3 > xx

null 字段的判断

select * from table_name where col_name is null

select * from table_name where col_name is not null

select distinct(精确的)去掉重复查询结果

select distinct col_name from table_name;

例如:

select distinct title form book;

使用 order by 对查询结果排序

1.按单一列名排序:

select * from table_name [where 子句] order by col_name [asc/desc]

2.按多列排序:

select * from table_name [where 子句] order by col1 [asc/desc], col2[asc,desc] ...

不加 asc 或者 desc 时,默认为 asc

asc 顺序排序

desc 倒序排序

使用 limit 截取查询结果

select * from table_name [where 子句] [order by 子句] limit [offset,] rowCount

offset:查询结果的起始位置,第一条记录的起始是 0

rowCount:从 offset 位置开始,获取的记录条数

注意: limit rowCount = limit 0,rowCount

插入命令 insert 和查询命令 select 的组合使用

insert into 与 select 组合使用

一般用法:

insert into 【table_name】 values(值1,值2,...)

insert into 【table_name】 (列1, 列2) values(值1,值2,...)

insert into 与 select 的组合用法:

insert into 【table_name1】 select 列1, 列2 from 【table_name2】

insert into 【table_name1】 (列1,列2)select 列3, 列4 from 【table_name2】

例如:

insert into book2 select * from book where id != 1;

从 book 表中 id 不等于 1 的数据插入到 book2 中

insert into book2(title) select coutent from book where id != 1;

从 book 表中 id 不等于 1 的数据条目的 content 列的数据插入到 book2 表中的 title 列

更新表数据

updata 语句

修改单列:

updata 表名 set 列名 = xxx [where 子句]

修改多列:

updata 表名 set 列名1 = xxx, 列名2 = xxx.... [where 子句]

where 语句中 in 操作符使用

in 语法

select * from 表名 where 列名 in (value1,value2...)

select * from 表名 where 列名 in (select 列名 from 表名)

注释: 列名 in (value1,value2...) 等同 列名 = value1 or 列名 = value2

where 语句中 between 操作符使用

在 值1 和 值2 之间的数据

select * from 表名 where 列名 between 值1 and 值2

不在 值1 和 值2 之间的数据

select * from 表名 where 列名 not between 值1 and 值2

where 语句中 like 操作符使用

select * from 表名 where 列名 [not] like pattern

pattern:匹配模式,比如:'abc', '%abc', 'abc%', '%abc%';

"%" 是一个通配符,理解上可以把他当成任何字符串

例子: '%abc' 能匹配 'erttsabc'

hare

2020.7.29

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值