天天看点

数据库常用字段、列属性、表类型与SQLyog工具的使用

目录

    • SQLyog工具
    • 数据库的一些基本操作命令
    • 结构化查询语句
    • 数据值和列类型
      • 列类型
      • 数据字段属性
    • 数据表类型
      • 数据表的存储位置 :

SQLyog工具

    一款可视化操作数据库的工具,简洁,易用,图形化,可是基本的DOS命名大家还是要记住!

下载地址:

打开后可以看到:

数据库常用字段、列属性、表类型与SQLyog工具的使用

点击测试连接;查看是否可以连接成功,进入后:

数据库常用字段、列属性、表类型与SQLyog工具的使用

使用SQLyog管理工具自己完成以下操作 :

  • 连接本地MySQL数据库
  • 新建MySchool数据库
  • 数据库名称MySchool
  • 新建数据库表(grade)
  • 字段

    GradeID : int(11) , Primary Key (pk)

    GradeName : varchar(50)

数据库的一些基本操作命令

update user set password=password('123456')where user='root'; 修改密码
flush privileges;  刷新数据库
show databases; 显示所有数据库
use dbname; 选择某个数据库并打开
show tables; 显示数据库mysql中所有的表
describe user; 显示表mysql数据库中user表的列信息
create database name; 创建数据库

exit; 退出Mysql
? 命令关键词 :寻求帮助
#表示注解
help:出现所有帮助
           

结构化查询语句

名称 解释 命令
DDL(数据定义语言) 定义和管理数据对象,如数据库,数据表等 CREATE、DROP、ALTER
DML(数据操作语言) 用于操作数据库对象中所包含的数据 INSERT、UPDATE、DELETE
DQL(数据查询语言) 用于查询数据库数据 SELECT
DCL(数据库控制语言) 用来管理数据库的语言,包括管理权限及数据更改 GRANT、COMMIT、ROLLBACK

数据值和列类型

列类型

列类型:规定数据库中该列存放的数据类型

  • 数值类型
类型 说明 取值范围 存储需求
tinyint 非常小的数据 有符值:-27~27-1 无符值:0~28-1 1字节
smallint 较小的数据 有符值:-215~215-1 无符值:0~216-1 2字节
mediumint 中等大小的数据 有符值:-223~223-1 无符值:0~224-1 3字节
int 常用整数 有符值:-231~231-1 无符值:0~232-1 4字节
bigint 较大的整数 有符值:-263~263-1 无符值:0~264-1 8字节
float 单精度浮点数 ±1.1754351e -38 4字节
double 双精度浮点数 ±2.225073858507e -308 8字节
decimal 字符串形式的浮点数 decimal(m,d) m字节
  • 字符串类型
类型 说明 取值范围
char[(M)] 固定长字符串,检索快但费时间,0<=M<=255 M字符
varchar[(M)] 可变字符串,0<=M<=65535 可变长度
tinytext 微型文本串 28-1字节
text 文本串 216-1字节
  • 日期和时间型数值类型
类型 说明 取值范围
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~2037年的某一个时刻
YEAR YYYY格式的年份 1901~2155
  • NULL值

理解为没有值或未知值,用null进行结果运算,结果还是null

数据字段属性

UnSigned:

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

ZEROFILL:

  • 0填充的
  • 不足位数的用0来填充,如int(3),5表示结果为005

Auto_InCrement:

  • 自动增长的,没添加一条数据,自动在还是哪个一个记录数上加1(默认)
  • 通常用于设置主键,且为整数类型
  • 可定义其实质和步长

    当前表设置步长( AUTO_INCREMENT=100):只影响当前表

    [email protected]@suto_increemnt_increment=5;影响所有使用自增长的表(全局)

NULL和NOT NULL:

  • 默认为NULL,即没有插入该列的数值
  • 如果设置为NOT NULL,该列必须有值

DEFAULT:

  • 默认的
  • 用于设值默认值

    例如,姓名字段,默认为"男",否则为"女";若无指定该列的值,则默认值为"男"的值

数据表类型

CREATE TABLE 表名{
	#省略代码
}ENGINE =MyISAM (or InnoDB)
#查看mysql所支持的引擎类型(表类型)
SHOW ENGINES;
#查看默认引擎
SHOW VARIABLES LIKE 'storage_engine';
           

Mysql的数据类型的类型有:MyISAM,InnoDB,HEAP,BOB,CSV等…

常见的MyISAM和InnoDB类型比较:

名称 MyISAM InnoDB
事务处理 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大,约2倍

使用场合:

  • 使用MyISAM:节约空间及相应速度
  • 使用InnoDB:安全性,事务处理及多用户操作数据表

数据表的存储位置 :

MySQL数据表以文件方式存放在磁盘中

包括表文件 , 数据文件 , 以及数据库的选项文件

位置 : Mysql安装目录\data\下存放数据表 . 目录名对应数据库名 , 该目录下文件名对应数据表 .

注意 :

InnoDB类型数据表只有一个 *.frm文件 , 以及上一级目录的ibdata1文件

MyISAM类型数据表对应三个文件 :

  • . frm – 表结构定义文件
  • . MYD – 数据文件(data)
  • . MYI – 索引文件(index)

继续阅读