-- 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的范围查询