栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Day16-操作数据库

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1027255.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号