数据库的创建与删除

1.数据库字段属性(重点)

Unsingned:

  1. 无符号的整数

  2. 不能声明为负数

zerofill

  1. 0填充的

  2. 不足的位数,使用0来填充

 

自增:

  1. 通常理解为自增,自动在上一条记录的基础上 + 1(默认)。

  2. 通常用来设计唯一的主键 - index,必须是整数类型。

  3. 可以自定义设计主键自增的起始值和步长。

非空 NULL / not / null

  1. 假设设置为not null,如果不给它赋值,就会报错。

  2. NULL,如果不填写值,默认就是null;

默认:

  1. 设置默认的值!

  2. sex,默认值为男,如果不指定该列的值,则会有默认的值!

扩展:

/**

每一个表,都必须存在以下五个字段

id 主键

version 乐观锁

is_delete 伪删除

gmt_create 创建时间

gmt_update 修改时间

/

2.创建数据库表
--目标:创建一个school数据库
-- 创建学生表(列,字段) 使用SQL 创建
-- 学号int 登录密码 varchar(20)姓名,性别varchar(2),出生日期(datatime),家庭住址,email
-- 注意点,使用英文(),表的名称和字段尽量使用``括起来-- AUTO_INCREMENT自增
--字符串使用单引号括起来!
--所有的语句后面加,(英文的),最后一个不用加-- PR工MARY KEY主键,一般一个表只有一个唯一的主键!


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 '家庭住址',
  ·emial· VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
  PRIMARY KEY(`id`)
)ENGINE = INNODB DEFAULT = utf8mb4

格式

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

常用命令

SHOW CREATE DATABASE school  -- 查看创建数据库语句
SHOW CREATE TABLE student -- 查看student 数据表的语句
DESC student   -- 显示表的结构
3.数据表的类型
/*
INNODB 默认使用~
MYISAM 早些年使用的
*/
 MYISAMINNODB
事物支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间的大小 较小 较大,约为2倍

常规使用操作:

  1. MYISAM:节约空间,速度较快。

  2. INNODB:安全性高,事物的处理,夺标多用户操作。

在物理空间的位置:

所有数据库文件都存在data目录下。

本质还是文件的存储。

MYSQL 引擎在物理文件上的区别。

  1. InnoDB 在数据库表中只有一个*.frm文件,以及上级目录下的iddata1文件。

  2. MYISAM对应文件

    1. *.frm -表结构定义文件。

    2. *.MYD 数据文件(data)

    3. *.MYI 索引文件(index)

  3. 设计数据库表的字符集编码:CHARSET=utf8(不设置的话,会是,mysql)的默认级编码,不支持中文!在my.ini中配置默认的编码character-set-server = utf8

4.修改删除表
-—修改表名:ALTER TABLE旧表名RENAME AS新表名
ALTER TABLE teacher RENAME AS teacher1
--增加表的字段:ALTER TABLE表名ADD字段名列属性
ALTER TABLE teacheri ADD age INT(11)

--修改表的字段(重命名,修改约束!)
-- ALTERTABLE表名MODIFY字段名列属性[]
ALTER TABLE teacher1 MODIFY age vARCHAR(11) --修改约束
-- ALTERTABLE表名CHANGE旧名字新名字列属性[]

ALTER TABLE teacher1 CHANGE age age1 INT(1) --字段重名名
-—剧除表的字段:ALTERTABLE表名DROP字段名
ALTER TABLE teacher1 DROP age1
5.删除
--删除表(如果表存在再剧除)
DROP TABLE IF EXISTS teacher1
6.注意点
  1. `` 字段名,使用这个包裹!

  2. 注释 —— /**/

  3. sql关键字大小写不敏感

  4. 所有符号全部用英文!

posted @   Y~~~  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示