MySQL数据管理一

本文详细介绍了如何在MySQL中创建数据表,包括字段名、不同类型的数据类型(如数值、字符串、日期时间)、字段属性(如无符号、自动增长、默认值)以及表的结构、存储引擎选择、字符集设置和表的修改方法。
摘要由CSDN通过智能技术生成

1.创建数据表
 CREATE   TABLE [ IF NOT EXISTS ]    `表名`   (
        `字段名1`   列类型 [ 字段属性 | 约束]  [ 索引 ] [注释] ,
        `字段名2`   列类型 [ 字段属性 | 约束]  [ 索引 ] [注释] , 
         … …    
         `字段名n`   列类型 [字段属性 | 约束]  [ 索引 ] [注释] 
)  [  表类型 ] [ 表字符集 ] [注释] ;

2.列类型
数据库中该列存放的数据类型
分为:数值类型、字符串类型、日期和时间型数值类型

3.数值类型

 类型

说明

取值范围

存储需求

TINYINT[(M)]

非常小的数据

有符值: -27 ~ 27-1 

无符号值:0 ~ 28-1                               

1字节

SMALLINT[(M)]

较小的数据

有符值:  -215 ~ 215-1 

无符号值:  0 ~ 216-1      

2字节

MEDIUMINT[(M)]

中等大小的数据

有符值:  -223 ~ 223-1 

无符号值:  0 ~ 224-1      

3字节

INT[(M)]

标准整数

有符值: -231 ~ 231-1 

无符号值:0 ~ 232-1      

4字节

BIGINT[(M)]

较大的整数

有符值: -263 ~263-1

无符号值:0 ~264-1      

8字节

FLOAT[(M)]

单精度浮点数

±1.1754351e -38

4字节

DOUBLE[(M)]

双精度浮点数

±2.2250738585072014e -308

8字节

DECIMAL

字符串形式的浮点数

decimal(m, d)

m个字节

4.字符串类型

 类型

说明

最大长度

CHAR[(M)]

固定长字符串,检索快但费空间, 0 <=  M  <=   255

M个字符

VARCHAR[(M)]

可变字符串   0 <=  M <= 65535

可变长度

TINYTEXT

微型文本串

0-255个字符

TEXT

文本串

0-65535个字符

5.日期和时间类型

 类型

说明

取值范围

DATE

YYYY-MM-DD,日期格式

1000-01-01~ 9999-12-31

TIME

Hh:mm:ss ,时间格式

-838:59:59~838:59:59

DATETIME

YY-MM-DD hh:mm:ss

1000-01-01 00:00:00 

9999-12-31 23:59:59

TIMESTAMP

YYYYMMDDhhmmss格式表示的时间戳

197010101000000 ~2038年的某个时刻

YEAR

YYYY格式的年份值

1901~2155

 MySQL允许“不严格”语法:任何标点符号都可以用作日期部分之间的间隔符,如”16-06-16” ”16.06.16” ”16/06/16”都可以写入数据表。。

6.字段属性

 字段属性

说明

UNSIGNED

无符号的,声明该数据列不允许负数。

ZEROFILL

1. 0 填充的,不足位数的用 0 来填充,如 int(3),5 则为 005
2. 使用 zerofill 会默认加 unsigned

AUTO_INCREMENT

1. 自动增长的,每添加一条数据,自动在上一个记录数上加 1
2. 通常用于设置主键,且为整数类型;
3. 可定义起始值和步长

NULL NOT NULL

1. 默认为 NULL, 即没有插入该列的数值;
2. 如果设置为 NOT NULL ,则该列必须有值;

DEFAULT

1. 默认的,用于设置默认值;
2. 例如,性别字段,默认为“男”,否则为“女”;若无指定该列的值,则默认为“男”的值

7.字段注释
  CREATE   TABLE [ IF NOT EXISTS ]    `test`   (
      `id`   int (11)  UNSIGNED  COMMENT   ‘编码号’
)COMMENT=‘测试表’;

8.查看表
SHOW TABLES;

9.查看表的定义
DESCRIBE 表名或DESC 表名

10.删除表
DROP TABLE [IF EXISTS] 表名

11.表类型
表的存储引擎;默认lnnoDB
MyISAM,lnnoDB等
语法:SHOW VARIABLES LIKE 'storage_engine%'

名称

MyISAM

InnoDB

事务处理

不支持

支持

数据行锁定

不支持

支持

外键约束

不支持

支持

全文索引

支持

不支持

表空间大小

较小

较大,2

适用场合:
  使用MyISAM:   节约空间及相应速度,适合以访问为主的应用。
  使用InnoDB:     安全性,事务处理及多用户操作数据表。
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`(
……) ENGINE =  MyISAM

12.设置表的字符集
1、创建时通过命令设置
2、修改配置文件my.ini(Windows系统)中的参数
character-set-sever = utf8 

13.修改表
修改表名:ALTER TABLE 旧表名 RENAME AS 新表名
添加字段:ALTER TABLE 表名 ADD 字段名 列类型[属性]

14.修改字段
ALTER TABLE 表名 MODIFY 字段名 列类型[属性] #修改列的数据类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型[属性] #修改列的数据类型及名称
删除字段 ALTER 表名 DROP 字段名
 

  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值