首页 > 数据库技术 > 详细

SQLyog基本操作(二)

时间:2021-06-08 09:50:59      阅读:22      评论:0      收藏:0      [点我收藏+]

2.4 创建数据库表(重点)

 -- 目标:使用SQLyog创建一个school数据库表
 -- 在school数据库中创建学生表student(列、字段)
 -- 属性:
 -- 学号 id int(4)
 -- 登录密码 pwd varchar(30)
 -- 姓名 name varchar(20)
 -- 性别 sex varchar(2)
 -- 出生日期 datetime
 -- 家庭住址 address varchar(100)
 -- 邮箱 email varchar(50)
 -- 主键 PRIMARY KEY,一般一个表只有一个唯一的主键
 -- 注意:使用英文(),表的名称和字段尽量使用``括起来,避免与关键字重复
 --     字符串使用英文‘‘括起来,所有的语句后面加上英文","表示结束
 --     最后一个语句没有",",字符集是utf8而不是utf-8
 ?
 -- 实现代码如下:
 CREATE DATABASE IF NOT EXISTS school
 USE school
 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` DATETIME DEFAULT NULL COMMENT ‘出生日期‘,
   `address` VARCHAR(100) DEFAULT NULL COMMENT ‘家庭住址‘,
   `email` VARCHAR(50) DEFAULT NULL COMMENT ‘邮箱‘,
   PRIMARY KEY(`id`)
 ) ENGINE=INNODB DEFAULT CHARSET=utf8

格式
 CREATE TABLE IF NOT EXISTS `表名`(
  `字段名` 列类型(长度) [属性] [索引] [注释],
  `字段名` 列类型(长度) [属性] [索引] [注释],
  ......
  `字段名` 列类型(长度) [属性] [索引] [注释],
 )[表类型][字符集设置][注释]

附:MySQL中数据类型的长度问题总结YAruli的博客-CSDN博客mysql中数据类型的长度问题总结

https://blog.csdn.net/YAruli/article/details/79187814

常用命令

 SHOW CREATE DATABASE school -- 查看创建school数据库的语句

技术分享图片

 SHOW CREATE TABLE student -- 查看创建student数据表的语句

技术分享图片

右键可复制该语句内容:

技术分享图片

可粘贴出的全部代码:

技术分享图片

 DESC student -- 显示表的结构

技术分享图片

 

2.5 数据表的类型

关于数据库引擎

  • INNODB 现在默认使用的

  • MYISAM 早些年使用的(5.0之前的版本)

    技术分享图片

 MYSIAMINNODB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间的大小 较小 较大,约为前者的两倍

数据行锁定是一行锁定,而不是表锁;

外键约束,在数据库级别关联另一张表

常规使用规则:

  • MYISAM 节约空间,速度较快

  • INNODB 安全性高,事物的处理,多表多用户操作

在物理空间存在的位置

                 所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库,本质还是文件的存储!

MySQL引擎在物理文件上的区别

  • INNODB在数据库表中只有一个*.frm文件,以及上级目录的ibdata1文件

    技术分享图片

  • MYSIAM对应文件

    • *.frm 表结构的定义文件

    • *.MYD 数据文件(data)

    • *.MYI 索引文件(index)

技术分享图片

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

   CHARSET=utf8 
   -- 不设置的话,会是mysql默认的字符集编码(不支持中文)
   -- MySQL的默认编码时Latin1,不支持中文
   -- 在my.ini中配置默认的编码,不建议,最好在每个表中单独设置字符集编码utf8
   charset-set-server=utf8

附: mysql默认字符编码设置教程:my.ini设置字符编码坚持是一种修行的博客-CSDN博客my.ini修改字符编码

https://blog.csdn.net/qq_30509055/article/details/82023572

SQLyog基本操作(二)

原文:https://www.cnblogs.com/XiaoCui-blog/p/14861008.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!