MYSQL常用语句及常见数据类型
##一数据类型基本五大类
###1.整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT
tinyint(m) (一个字节,范围:(百位))
smallint(m) (两个字节,范围:(万位))
mediumint(m) (三个字节 ,范围:(万级以上,亿级以下)
int(m) (四个字节, 范围:(亿级)
bigint(m) ( 八个字节, 范围:(亿级以上)
int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,
2.浮点类型::FLOAT、DOUBLE、DECIMAL
float(m,d) (单精度浮点型 8位精度(4字节) m总个数,d小数位)
double(m,d) (双精度浮点型 16位精度(8字节) m总个数,d小数位)
decimal(m,d) (参数m<65 是总个数,d<30且 d<m 是小数位)
3.字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、 BLOB、MEDIUM BLOB、LONG BLOB
char(n) (固定长度,多255个字符)
varchar(n) ( 固定长度,多65535个字符)
tinytext ( 可变长度,多255个字符)
text (可变长度,多65535个字符)
mediumtext (可变长度,多2的24次方-1个字符)
longtext (可变长度,多2的32次方-1个字符)
char :固定长度不管实际内容是多少大小,统一分配相同的存储空间 ,varchar: 根据实际内容的大小来分配存储空间
相同点:都是用于存放字符类型
优缺点: varchar :不会造成空间的浪费,节省空间,缺点时需要系统进行计算,性能上会有损失 不确定使用varchar char: 造成空间的浪费,优点是提升性能
4.日期类型:Date、DateTime、TimeStamp、Time、Year
date (日期 ‘2008-12-2’)
time (时间 ‘12:25:36’)
datetime (日期时间 ‘2008-12-2 22:06:44’)
timestamp (自动存储记录修改时间)
若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数 据类型的字段可以存放这条记录后被修改的时间
5.其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、 MultiLineString、Polygon、GeometryCollection等
null (数据列可包含空值)
notnull (数据列不允许包含空值)
default ( 默认值)
primary key ( 主键,使用数据不得重复,越简单越好)
auto_incremen (自动递增,适用于整数类型同时适用于主键)
unsigned (无符号)
character set name (指定一个字符集)
使用建议
- .在指定数据类型的时候一般是采用从小原则,比如能用Ttiny int的最好就不要不用int,这样可以提升 MySQL的运行效率,尤其是在大数据测试下
- 不要把数据表设计的太过于复杂,功能模块上区分对于后期的维护更方便
- 数据表和字段名称要用英文 (起名字也要有所含义,不要到后期看不懂)
- 设计数据表结构之前先想像一下是你的房间,或许结果会更加合理,高效
- 数据库的最后设计结果用定时效率和可扩展性的折中,偏向任何一方都是欠妥的
二,MySQL常用数据语句
1.连接mysql服务器
mysql -uroot -p 完整语句 mysql -uroot -h ip地址 -p(password)
2.查看所有数据
show databases
3.选择一个数据库
use(库名字)
4.使用数据库
user baba; 使用(baba)数据库
5.创建数据库
create database (数据库名称)
6.删除数据库
drop database(库名字)
7.断开mysql服务器
quit
8.启动mysql服务器
net start (服务器名称,必须和运行程序名称相同)
9.停止MySQL服务器
net stop (服务器名称 ,同上)
10.查询表
select*from(表名)
10.查看当前数据库有哪些表
show tables(表名称)