首页 > 数据库 >创建数据库表、数据表的类型

创建数据库表、数据表的类型

时间:2022-12-09 16:01:35浏览次数:44  
标签:COMMENT -- 创建 数据库 DEFAULT 数据表 NULL

创建数据库表、数据表的类型

创建数据库表

-- 目标:创建一个school数据库
-- 创建学生表(列,字段)  使用SQL创建
-- 学号int,登陆密码varchar(20),姓名,性别varchar(2),出生日期(datatime),家庭地址,email

-- 注意点:使用英文的()  ,  表的名称 和 字段  尽量使用 ``括起来
-- AUTO INCREMENT 自增
-- 字符串使用 单引号括起来!
-- 所有的语句后面加 ,(英文的)  ,最后一个不用加
-- PRIMARY KEY 主键,一般一个表只有一个唯一的主键!

CREATE TABLE IF NOT EXISTS `student` (
	`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
	`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pwd` VARCHAR(30) 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] `表名`(
	`字段名` 列类型 [属性] [索引] [注释],
    `字段名` 列类型 [属性] [索引] [注释],
    ......
    `字段名` 列类型 [属性] [索引] [注释]
)[表类型][字符集设置][注释]

常用命令

SHOW CREATE DATABASE school; -- 查看创建数据库的语句
SHOW CREATE TABLE student; -- 查看student数据表的定义语句 
DESC student; -- 显示表的结构

数据表的类型——MYISAM和INNODB的区别

-- 关于数据库引擎
/*
INNODB 默认使用
MYISAM 早些年使用的
*/

常规使用操作

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

在物理空间存储的位置

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

本质 文件的存储

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

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

设置数据库表的字符编码

CHARSET=utf8

不设置,MySQL默认的字符编码:Latin1 ,不支持中文

在my.ini中配置默认的编码

character-set-server=utf8

标签:COMMENT,--,创建,数据库,DEFAULT,数据表,NULL
From: https://www.cnblogs.com/dengovo/p/16969166.html

相关文章

  • 最小支持度、最小置信度、全国三级数据库考试
    首先解释一下什么是置信度、什么是支持度置信度=在事务中已经包含X的情况下包含Y的百分比;支持度=事务中同时包含X、Y的百分比;下面看一个三级数据库题库的真题吧1)以下是某商......
  • 数据库对比shell脚本
    这是一个通过nacos获取数据库配置然后自动对比数据库和topic区别的工具,头和尾去掉也就是“*********************”前后去掉中间部分是单独的数据库对比脚本,用的时候要注意......
  • Django 多对多表关系的两种创建方式
    第一种:自动创建#djangoorm自动帮我们创建第三张表,我的app名字是app01,表名为:app01_book_authors#这种方式可以让Django迅速的帮我们建一张关系表出来,好处是可以通过......
  • oracle - 数据库版本说明
    1998年Oracle8i:i指internet,表示oracle向互联网发展,8i之前数据库只能对应1个实例2001年Oracle9i:8i的升级,性能更佳,管理更人性化2003年Oracle10g:g指grid,表示采用网格计算的......
  • 创建springboot过滤器
    springboot过滤器importorg.springframework.core.ParameterizedTypeReference;importorg.springframework.web.context.WebApplicationContext;importorg.springframewo......
  • 数据库原理 查询优化
    实现查询操作的算法1、选择(1)简单的全表扫描(2)索引扫描算法2、连接(1)嵌套循环算法对外层循环表上的每一个元组,检索其内层循环表中元组,检查其是否相等,满足连接条件输出。......
  • threeJs 创建文字方式
    一,使用 TextGeometry创建3D文字1.需加载字体配合使用,使用THREE.FontLoader//加载字体loadFont(){returnnewPromise(function(resolve,reject){......
  • 数据库脚本执行逻辑
    数据库脚本执行顺序:sql脚本命名规范:序号+版本名称+脚本描述+创建者姓名拼音缩写±回滚后缀DBaistock-v4.4.4script1_aistock-v4.4.4_updateTable_bwf-zsz.sql2_aisto......
  • 云数据库技术行业动态:ClickHouse Cloud正式GA或有融资;openGauss社区引入新成员
    行业动态ClickHouseCloud正式GA,同时,B轮融资得到进一步增加这是由ClickHouse官方推出云服务,启用新域名:clickhouse.cloud,类似于MongoDB的Atlas服务。目前支持在AWS构建,从......
  • sqlite3数据库提示database disk image is malformed 解决办法
    在嵌入式产品中,用sqlite3进行数据存储是非常常用且有效的方法。但是最近在项目中遇到了数据库被损坏的情况,具体表现为使用数据库管理软件打开数据库后,使用sql语句对数据进......