一、数据类型

  1. 1.日期和时间类型

类型

大小

范围

格式

用途

DATE

3

1000-01-01/9999-12-31

YYYY-MM-DD

日期值

TIME

3

-838:59:59/838:59:59

HH:MM:SS

时间值或持续时间

YEAR

1

1901/2155

YYYY

年份值

DATETIME

8

1000-01-01 00:00:00/9999-12-31 23:59:59

YYYY-MM-DD HH:MM:SS

混合日期和时间值

TIMESTAMP

4

1970-01-01 00:00:00/2037年

YYYYMMDDHHMMSS

混合日期和时间值时间戳

   

 

 

  1. 2.字符串类型

类型

大小

用途

char

0-255字节

定长字符串

varchar

0-65535字节

变长字符串

tinyblob

0-255字节

不超过255个字符的二进制字符串

tinytext

0-255字节

短文本字符串

blob

0-65535字节

二进制形式的长文本数据

text

0-65535字节

长文本数据

mediumblob

0-16 777 215字节

二进制形式的中等长度文本数据

mediumtext

0-16 777 215字节

中等长度文本数据

longblob

0-4 294 967 295字节

二进制形式的极大文本数据

longtext

0-4 294 967 296字节

极大文本数据

 

  

 

  1. 3.整型

类型

占用字节

无符号范围

有符号范围

数据库长度

tinyint

1

0-255

-128-127

4

smalint

2

0-65535

-32768-32767

6

mediumint

3

0-16 777 215

-8388608-8388607

9

int

4

0-4294967295

-2147483648-2147483647

11

bigint

8

0-18446744073709551615

-9223372036854755808-9223372036854775807

20


  



  1. 4.浮点型

类型

大小

有符号范围

无符号范围

用途

float

4字节

sql server中输出命令是什么 sql数据库输出语句_sql server中输出命令是什么

sql server中输出命令是什么 sql数据库输出语句_mysql_02

单精度浮点数值

double

8字节

sql server中输出命令是什么 sql数据库输出语句_mysql_03

sql server中输出命令是什么 sql数据库输出语句_字符串_04

双精度浮点数值

decimal

sql server中输出命令是什么 sql数据库输出语句_mysql_05

依赖于M和D的值

依赖于M和D的值

小数值

  

 


  1. 5.字符型

类型

字节数和范围

CHAR(M)

M字节,1<=m<=255

VARCHAR(M)

L+1字节,在此 L<=M和1<=M<=255

TINYBLOB,TINYTEXT

L+1字节,在此L<2^8

BLOB,TEXT

L+2字节,在此L<2^16

MEDIUMBLOB,MEDIUMTEXT

L+3字节,在此L<2^24

LONGBLOB,LONGTEXT

L+4字节,在此L<2^32

ENUM(‘value1‘,'value2',....)

1或2个字节,取决于枚举值的数目(最大值65535)

SET('value1','value2',....)

1,2,3,4或8个字节,取决于集合成员的数量(最多64个成员)

 


二、常用SQL语句

1、select命令

使用select命令查看mysql数据库系统信息:
-- 打印当前的日期和时间
select now();
-- 打印当前的日期
select curdate();
-- 打印当前的时间
select curtime();

-- 打印当前数据库
select database();

-- 打印MySQL版本
select version();

-- 打印当前用户
select user();

--查看系统信息
show variables;     #显示变量
show global variables;  #显示全局变量
show global variables like '%version%';
show variables like '%storage_engine%'; 		#默认的存储引擎
like和”_”模糊搜索还可用户where字句。
MySQL提供两个通配符,用于与LIKE运算符一起使用,它们分别是:百分比符号 %和下划线 _。
百分比(%)表示通配符允许匹配任何字符串的零个或多个字符。
下划线(_)表示通配符允许匹配任何单个字符。

2、建表用表插入数据查询数据

mysql> 
mysql> create database zmedu;
Query OK, 1 row affected (0.00 sec)

mysql> use zmedu
Database changed
mysql> create table students(id int(11),stname char(20));
Query OK, 0 rows affected (0.01 sec)

mysql> insert into students values(1,'liuyong'),(1,'zhangru'),(3,'laowang'),(4,'tongtong');
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

3、查看系统运行状态

查看系统运行状态信息:
mysql> show status; 		#查看运行状态
mysql> show global status like 'Thread%'; 		#显示全局状态

4、逻辑运算

and or not
and 且
or 或
not 非

5、查询导入的数据

mysql> select bName,publishing,price from books where price=30 or 
price=40 or price=50 or price=60;

mysql> select bName,price from books where price in (50,60,70);

6、算数运算符

=	等于
<>	不等于 !=
>     大于
<	小于
=	大于等于
<=	小于等于

7、排序

升序:order by “排序的字段” asc 默认
降序:oredr by “排序的字段” desc
mysql> select bName,price from books where price in (50,60,70) order by price asc;

8、范围运算

[not]between …and…
Between and 可以使用大于小于的方式来代替,并且使用大于小于意义表述更明确
实例:
查找价格不在30到60之间的书名和价格

mysql> select bName,price from books where price not between 30 and 60 order by price desc;

9、模糊匹配

实例:
mysql> select bName from books where bName like '%程序%';

10、MySQL子查询

概念:在select 的where条件中又出现了select,查询中嵌套着查询

mysql> select bName,bTypeId from books where bTypeId=(select bTypeId from category where bTypeName='网络技术');

11、limit限定显示条目

Format:SELECT * FROM table LIMIT [offset,] rows

偏移量 行数
  LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。

比如select * from table limit m,n语句
表示其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。

查出category表中第2条到第6行的记录。
首先2到6行有2,3,4,5,6总共有5个数字,从2开始,偏移量为1

mysql> select * from category limit 1,5;