Mysql_SQLyog 数据库的创建

Posted TY__F

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql_SQLyog 数据库的创建相关的知识,希望对你有一定的参考价值。

1、创建数据库
CREATE DATABASE [IF NOT EXISTS] westos;
2、删除数据库
DROP DATABASE [IF EXISTS] westos;
3、使用数据库
-- tab键的上面,如果你的表名或者字段是一个特殊字符,就需要带``
USER `school`
4、查看数据库
show DATABASE -- 查看数据库

数据库的数据类型

数值型

  • tinyint 十分小的数据 1个字节
  • smallint 较小的数据 2个字节
  • mediumint 中等大小的数据 3个字节
  • **int ** 标准的整数 4个字节 <常用的>
  • bigint 较大的数据 8个字节
  • float 浮点数 4个字节
  • double 浮点数 8个字节
  • decimal 字符串类型的浮点数 金融计算的时候一般使用

字符串类型

  • char 字符串固定大小的 0~255
  • varchar 可变字符串 0~65535 <常用的 String>
  • tinytext 微型文本 2^8-1
  • text 文本串 2^16-1

时间日期

  • data YYYY-MM-DD,日期
  • time HH :mm:ss 时间格式
  • **datatime YYYY-MM-DD HH :mm:ss 最常用的时间格式 **
  • timestamp 时间戳 1970.1.1 到现在的毫秒数!
  • year 年份表示

null

  • 没有值 ,未知
  • 注意 不要使用NUll进行运算,结果为NULL

数据库的字段属性(重点)

Unsigned:

  • 无符号的整数
  • 声明了该列不能为负数

zerofill:

  • 0填充的
  • 不足的位数,使用0来填充 ----int (3) 5 --> 005

自增

  • 自动在上一条记录上加 1
  • 通常用来设计主键的index ,必须是整数类型
  • 可以是自定义的设计主键自增的起始值和步长

非空NULL / NOT NULL

  • 指定该列是否为空或者不为空,违反时会报错

SQL语句常见数据库表

CREATE TABLE IF NOT EXISTS `student`(
    `id` INT(4) not null AUTO_INCREMENT COMMENT \'学号\',
    `name` varchar(30) not null default \'匿名\' comment\'姓名\',
    `pwd` varchar(20) not null default \'123456\' COMMENT \'密码\',
    `sex` varchar(2) not null default \'男\'COMMENT \'性别\',
    `birthday` datatime dafault NULL COMMENT \'出生日期\',
    PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

注意

  • 使用英文的(),表的名称和字段尽量使用``括起来
  • AUTO_INCREMENT 自增
  • 字符串使用单引号括起来
  • 所有的语句后面加 ,英文的最后的一个字段不用加
  • 主键一般一个表只有一个

格式

CREATE TABLE [IF NOT EXISTS] `表名`(
    `字段名` 列类型 [属性][索引][注释],
    `字段名` 列类型 [属性][索引][注释],
    ......
    `字段名` 列类型 [属性][索引][注释]
    PRIMARY KEY (`字段名`)
)[表类型][字符串设置][注释]
-- 字符串设置 default charset=utf8
  • 查看数据库表的定义语句 show create table student
  • DESC student --显示表的结构

数据库引擎

默认使用 INNODB

早些年使用 MYISAM

MYISAM INNODB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间的大小 较小 较大,约2倍

常规使用操作:

  • MYISAM 节约空间,速度较快
  • INNODB 安全性高,事务的处理,多表多用户操作

所有的数据库文件都存在在 data目录下一个文件夹就对应一个数据库

本质还是文件的存储!!

MYSQL引擎在物理上的区别:

  • INNODB 在数据库表中 只有一个 .frm文件,以及上级目下的 lbdata1文件
  • MYISAM对应的文件
    • *.frm 表结构的定义文件
    • *.MYD 数据文件(data)
    • *.MYI 索引文件 (index)

设置数据库表的字符集编码

CHARSET=utf8

不设置会出现问题,就会变成默认的字符集编码----(不支持中文

默认的是 Latin1,不支持中文

-- 可以在my.ini中配置默认的编码
character-set-server=utf8
-- 建议不要自己去配置,为了代码可以在更多电脑中运行,每次创建表时在后面自己配置

+++

创建数据库的实例

CREATE DATABASE stu_info -- 创建了一个数据库名为:stu_info
-- 数据库下的表的实例
-- student学生信息表

create table if not exists `student`(
`sno` char(9) comment \'学号\',
`sname` char(20) unique comment \'姓名\',
`sex`char(2) not null comment \'性别\',
`sage`smallint  not null comment \'年龄\',
`sdept` char(20 ) not null comment \'专业\',
primary key(`sno`)
)engine=innodb default charset=utf8

-- 课程信息表格

create table if not exists `Course`(
`cno` char(9) not null comment \'课程号\',
`cname` char(40) not null comment \'课程名\',
`cpno` char(4) not null comment \'先修课\',
`credit` smallint not null comment \'课程学分\',
primary key (`cno`)
)engine=innodb default charset=utf8

此处我没有做数据表的外键,因为后面的练习需要删除数据,需要添加数据,所以就简单的练习下

以上是关于Mysql_SQLyog 数据库的创建的主要内容,如果未能解决你的问题,请参考以下文章

创建自己的代码片段(CodeSnippet)

Asynctask结果显示重新创建片段后

webstorm代码片段的创建

创建片段而不从 java 代码实例化它

有没有办法使用相同的布局动态创建片段并向它们显示数据?

微信小程序代码片段