mysql学习笔记(持续更新)

-- CREATE TABLE customers (

--     c_num INT(11) PRIMARY KEY NOT NULL UNIQUE AUTO_INCREMENT,

--     c_name VARCHAR(50),

--     c_contact VARCHAR(50),

--     c_city VARCHAR(50),

--     c_birth DATETIME NOT NULL

-- )

-- ALTER TABLE customers MODIFY c_contact VARCHAR(50)  AFTER c_birth  将字段放到另外一个字段后面  所移动字段 对应的数据类型 位置  目的字段

-- ALTER TABLE customers MODIFY c_name VARCHAR(70)  更改字段的数据类型   字段 字段的数据类型

-- DESC customers  显示表结构

-- ALTER TABLE customers CHANGE c_contact c_phone VARCHAR(50)  改变字段名字为另外一个字段  旧字段 新字段 新字段的数据类型

-- ALTER TABLE customers ADD c_gender CHAR(1)  增加字段 字段名 字段的数据类型

-- ALTER TABLE customers RENAME customers_info  修改表名

-- ALTER TABLE customers_info DROP c_city  删除表中字段

-- DROP TABLE customers_info  删除表

DECIMAL 定点数类型   DECIMAL(M,D)   M称为精度,表示总共的位数,D称为标度,表示小数点的位数

时间数据类型:

-- DELETE FROM tmp3  删除某个表的数据 不删除表

-- INSERT INTO tmp3 VALUES('0'),('00'),('77'),('10') 插入多条数据,一个括号代表一条

选择数据类型:

1.整数和浮点数:(INT FLOAT DOUBLE)

    不需要用小数部分,则使用整数部分来保存数据,如果需要小数部分,则使用浮点数类型.

    DOUBLE精度比FLOAT类型高,因此存储精度较高时,应选DOUBLE

2.浮点数和定点数(DOUBLE FLOAT DECIMAL)

    浮点数对于定点数的优势是:长度一定的情况下,浮点数能表示更大的数据范围,对精确度要求较高时.

    使用DECIMAL来存储(float(M,D)是非标准sql定义的,数据库迁移可能会出现问题,如果使用数值进行比较,

    最好使用DECIMAL类型

3.日期与时间类型(YEAR TIME TIMESTAMP DATETIME DATE)

    只需要用到年用YEAR,只需要用到时间TIME

    记录日期和时间,用TIMESTAMP或者DATETIME,前者的取值范围小于后者的取值范围,

    存储范围较大的日期最好使用DATETIME

    没有指定TIMESTAMP的值进行插入动作时候,mysql会把值设为当前的时间

4.CHAR和VARCHAR的区别

    CHAR是固定长度字符,所以处理速度会比CARCHAR更快.但是浪费存储空间

    CARCHAR是可变长度字符

5.ENUM和SET

    ENUM只能取单值,它的数据列表是一个枚举集合,合法取值列表最多允许65535个成员,

    在需要从多值中选取一个时,使用ENUM

    SET可取多值,最多允许64个成员,空字符串也是合法的值,

    在需要取多值的时候,使用SET

    两者都是以字符串的形式出现的

6.BLOB和TEXT

    BLOB是二进制字符串,TEXT是非二进制字符串,

    前者主要存储图片,音频信息等,

    后者只能存储纯文本文件

MySQL函数:

ABS(X) 求出X的绝对值 -- SELECT ABS(2),ABS(-3.3),ABS(-33)

PI() 求π-- SELECT PI()

SQRT(X)求非负数X的平方根 --SELECT SQRT(9),SQRT(40),SQRT(-49)

MOD(A,B)求A%B的值-- SELECT MOD(3,1)

CEIL(X),CEILING(X),返回不小于X的最小整数值--SELECTCEILING(12.5),CEILING(-3.4)

FLOOR(X)返回不大于X的最大整数值-- SELECT  FLOOR(-3.4)

RAND(X)返回一个随机浮点值,括号内为空,范围在0-1之间,若括号内有值,则它被用作种子值,用来产生重复序列-- SELECT RAND(10)

ROUND(X)返回最接近X的整数,对X进行四舍五入-- SELECT ROUND(-1.14)

SIGN(X)返回X的符号,负为-1 正为1 零为0  -- SELECT SIGN(12)

POW(X,Y)返回X的Y次方的值 -- SELECT POW(2,3)

EXP(x)返回e的X乘方的值-- SELECT EXP(0)   e的0次方等于1

将日期和时间格式化的函数DATE_FORMAT(date,format)

数据查询:

插入多条数据:

--INSERT INTO fruits(f_id,s_id,f_name,f_price)--------------无单引号

    VALUES('a1','101','zzs','100.2'),('a2','102','lupigc','200.2');-----------加单引号

检索所有字段的数据

--SELECT *

    FROM fruits

查看表字段,表结构

--DESC fruits

查询指定单个字段

--SELECT f_name

    FROM fruits

查询指定多个字段

--SELECT f_name,s_id

    FROM fruits

where条件筛选

--SELECT f_name,s_id

    FROM fruits

    where f_price = '2'

IN关键字使用(满足条件范围的一个值即可)

--SELECT *

    from fruits

    WHERE f_price IN (0,1)

带BETWEEN AND的范围查询

    

    

    

猜你喜欢

转载自blog.csdn.net/zhangzeshan/article/details/82860800