MySQL 数据库设计部分

一、Mysql设计部分

1.数据表概念

是长期存储在计算机中的有组织、有结构的数据集合


2.数据字段类型
1)数值 int(n)  //int(3)与长度无关,不够3位时前面补0,默认看不见
   float
2)字符串 char(n)  //n最大255,存储时占n个字节空间,但检索速度快
      varchar(n)  //n最大65535,存储时按照实际字符串+1存储,相对于char要省空间,但检索速度慢
      text  //65535字节 存储L+2
      longtext  //42亿字节 存储L+4
3)日期
     列类型            存储需求
     date               3个字节
     datetime        8个字节
     timestamp     4个字节
     time               3个字节
     year              1个字节
    //建议日期类型存int
3.字段属性
unsigned  //全是正数
zerofill  //零填充,int(3),不够3位补0
auto_increment  //自增ssss
null  //这一列值允许为null
not null  //这一列值不允许为null
default  //配合not null使用。即,这一列值不允许为null,但载入这列的数据有的为空,这时就将默认值赋给空值
建表语句:
mysql> create table t1(
    -> id int unsigned auto_increment primary key,
    -> name varchar(30),
    -> sex varchar(5) not null default "nan");

4.数据表对象管理

?
5.数据表的类型及存储位置

?
6.数据表的默认字符集
    Mysql安装目录下的my.ini文件是配置文件
    其中的[mysqld]下面配置服务器
    配置字符集:character-set-server=utf8
    校验字符集:collation-server=utf8_general_ci
    [mysql]下面配置客户端,配置字符集:default-character-set=utf8


7.创建索引(优化数据库数据读取速度)
1).主键索引(每个表中只能有一个主键索引)
在设计初,主键索引就要设计
2).普通索引
后期维护普通索引:
①添加普通索引
mysql> alter table t2 add index in_name(name); //给name列加索引
②删除普通索引
mysql> alter table t2 drop index in_name;

创建带索引的表:
mysql> create table t2(
    -> id int unsigned auto_increment,
    -> name varchar(30),
    -> primary key(id),        //将id设为主键索引
    -> index in_name(name)    //将name设为普通索引
    -> );


查看表中的所有索引:
show index from 表名;

检测sql语句:
desc select * from t1 where id=3\G  //加\G对所有行转置

表组成→
表记录:行
表字段:组成表记录的“格”
表结构:每个字段的名称
实际储存→
表数据:MYI
表索引:MYD
表结构:frm

转载于:https://www.cnblogs.com/FengZiQ/p/8451926.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值