Day16-操作数据库

操作数据库

创建数据库

使用SQL语句创建数据库表

  • 目标:创建一个school数据库
  • 创建学生表(列,字段)
  • 学号int 登录密码varchar(20),姓名varchar(2),出生日期(datatime),家庭住址,email
#注意点,使用英文括号,表的名称和字段尽量用``括起来。
#NOT NULL 不能为空
#AUTO_INCREMENT   自增
#COMMENT   注释,字符串用单引号括起来
#所有语句后面都要加逗号,最后一个字段不用加
#DEFAULT'匿名'    ,默认值为匿名
# PRIMARY KEY(`id`),设置主键,一般一个表只有唯一的一个主键
#DEFAULT CHARSET=utf8,默认字符是utf-8
CREATE TABLE IF NOT EXISTS `student`(
    `id`  INT(4) NOT NULL AUTO_INCREMENT  COMMENT '学号',
    `name` VARCHAR(20) NOT NULL DEFAULT'匿名' COMMENT'姓名',
    `pwd` VARCHAR(20) NOT NULL DEFAULT'123456' COMMENT'密码',
    `sex` VARCHAR(2) NOT NULL DEFAULT'男' COMMENT'性别',
    `birthday` DATETIME DEFAULT NULL COMMENT'出生日期',
    `adress` 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--查看创建数据表的定义语句
DESC student--查看表的结构

复制到单元格就可以,查看语句然后学习

数据表的类型

关于数据库引擎

  • INNODB 默认使用
  • MYISAM 早些年使用

MYISAM 和 INNODB 的区别

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

常规的使用操作:

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

MYISAM 和 INNODB 在物理文件上的区别

在物理空间存在的位置

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

本质还是文件的存储

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

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

CHARSET=utf8

如果不设置的话,就会变成默认的字符集编码(一般不支持中文)

或者在my.ini文件中配置默认的编码

character-set-server=utf8

修改和删除表

修改表

#修改表名  ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE teacher RENAME AS teacher1
#增加表的字段   ALTER TABLE 表名 ADD 字段名 列属性
ALTER TABLE teacher1 ADD age INT(11)
#修改表的字段(重命名、修改约束)
#ALTER TABLE 表名 MODIFY 字段名 列属性
ALTER TABLE teacher1 MODIFY age VARCHAR(11)#修改约束
#ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性
ALTER TABLE teacher1 CHANGE age age1 INT(11)#重命名
#删除表的字段
#ALTER TABLE 表名 DROP 字段名
ALTER TABLE teacher1 DROP age1

删除表

#删除表
DROP TABLE IF EXISTS teacher1

所有的创建表和删除表操作尽量加上判断是否存在,以免报错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值