2、操作数据库「终于解决」

2、操作数据库「终于解决」
操作数据库 操作数据库 > 操作数据库中的表 > 操作数据库中表的数据 MySQL关键字不区分大小写 2.1、操作数据库(了解) 1.创建数据库 CREAT…

	2、操作数据库[数据库教程]

操作数据库

操作数据库 > 操作数据库中的表 > 操作数据库中表的数据

MySQL关键字不区分大小写

2.1、操作数据库(了解)

1.创建数据库

CREATE DATABASE westos;

2.删除数据库

DROP DATABASE westos;

3.使用数据库

USE school;

4.查看数据库

SHOW DATABASES;

学习思路:

  • 对照sqlyog可视化历史记录,可以查看sql语句
  • 固定的预发或关键字必须强行记住!

2.2数据库的列类型

技术图片

技术图片

技术图片

技术图片

2.3数据库的字段属性(重点)

Unsigned:

  • 无符号的整数
  • 声明该类为正整数,没有负数

zerofill:

  • 0填充
  • 不足的位数,使用0来填充,int(3),会将5存储为005

自增:

  • 通常理解为自增,自动在上一条的基础上+1(默认)
  • 通常来设计唯一的主键,且必须为整数类型
  • 可以自定义设计主键自增的起始值和步长

非空 Null not null

  • 加速设置为not null,如果不给它赋值,就会报错
  • null,如果不填写值,默认就是null

默认:

  • 设置默认的值
  • sex,默认为男,如果不设置指定的值,那么它的值就是默认的值

拓展:

/*
每一个表,都必须存在以下五个字段!未来做项目用的,表示一个记录存在意义!
id  主键
`version` 乐观锁
is_delect 伪删除
gmt_create  创建时间
gmt_update  修改时间
*/



2.4创建数据库表(重点)

--学号(int) 登录密码(varchar(20)) 姓名  性别varchar(2) 出生日期(datetime) 家庭住址  Email

--注意,要使用英文括号(),表的名称和字段尽量使用``括起来
--AUTO_INCREMENT  自增
--字符串要使用单括号‘‘括起来
--每一段属性描述后加,  最后一行不用加
--PRIMARY KEY 主键,一般一个表有一个唯一的主键
CREATE TABLE `student` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT ‘学号‘,
`name` VARCHAR(8) NOT NULL DEFAULT ‘匿名‘ COMMENT ‘姓名‘,
`pwd` INT(6) 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(20) DEFAULT NULL COMMENT ‘邮箱‘,
PRIMARY KEY(`id`)
)ENGINE=INNODB CHARSET=utf8

格式

CREATE TABLE `表名`(
    `字段名` 列类型 [属性][索引][注释],
    `字段名` 列类型 [属性][索引][注释],
    `字段名` 列类型 [属性][索引][注释],
    .......
    `字段名` 列类型 [属性][索引][注释]
    PRIMARY KEY(`字段名`)--设置主键
)[表类型][字符集设置][注释]

常用命令

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

2.5数据库表的类型

--关于数据引擎
/*
INNODB 默认使用
MYISAM 早些年使用的
*/
MYISAM INNODB
事务支持 不支持 支持
数据行锁定 不支持,表锁定 支持,行锁定
外键约束 不支持 支持
全文索引 支持 不支持
表空间的大小 较小 较大,约为2倍

常规使用操作

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

在物理空间存在的位置

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

本质还是文件的存储

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

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

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

CHARSET=utf8

不设置的话,会是MySQL默认的字符集,(不支持中文!)

MySQL默认的编码是Latin1,不支持中文

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

character-set-server=utf8

2.6修改删除表

修改

--修改表名:ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE teacher RENAME AS teacher1

--增加表的字段:ALTER TABLE 表名 ADD 字段名 列属性
ALTER TABLE teacher1 ADD id INT(3)

--修改表的字段(重命名,修改约束)
--ALTER TABLE 表名 MODIFY 字段名 列属性[]
ALTER TABLE teacher1 MODIFY id VARCHAR(11)--修改约束(列属性)
--ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[]
ALTER TABLE teacher1 CHANGE id id1 INT(3)--字段重命名,也可以顺便修改一下列属性

--删除表的字段:ALTER TABLE 表名 DROP 字段名
ALTER TABLE teacher1 DROP id1

删除

--删除表:DROP TABLE [IF EXISTS] 表名
DROP TABLE IF EXISTS teacher1

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

注意点:

  • 字段名要用“包裹
  • 注释 — 或/**/
  • sql关键字大小写不敏感,建议大家写小写
  • 所有的符号要用英文

2、操作数据库

原文地址:https://www.cnblogs.com/zgmzbhqa/p/13557825.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6711.html

(0)
上一篇 2023-04-05
下一篇 2023-04-05

相关推荐

  • mysql5.7 group by报错_mysql中group by用法

    mysql5.7 group by报错_mysql中group by用法因为在MySQL中使用group by 是总是出现1055的错误,这就导致了必须去查看是什么原因了,查询了相关的资料,现在将笔记记录下来,以便后面可以参考使用: sql_mode:简而言之就是:它定义

    2023-01-24
    165
  • Python GUI示例:创建可交互的图形用户界面

    Python GUI示例:创建可交互的图形用户界面在Python的GUI编程中,我们可以使用一些工具包(如Tkinter、wxPython、PyQt等)来创建图形用户界面。本篇文章将以Tkinter为例,向您展示如何使用Python创建可交互的图形用户界面。

    2024-03-20
    83
  • 遇见SQL(3)

    遇见SQL(3)SQL自学笔记 事务 1.0事务的基本介绍 2.0 事务的自动提交&手动提交 3.0 事务的四大特征 4.0 事务的隔离级别 DCL

    2023-03-20
    159
  • Python函数返回多个值

    Python函数返回多个值Python是一种高级编程语言,具有强大的功能和广泛的应用场景。在Python编程中,函数是一种重要的概念,可以帮助我们编写可重用的代码,并在程序中实现一系列的功能。在Python中,函数可以返回多个值,这是Python中一个非常有用的特性。

    2024-06-14
    51
  • oracle 删除用户后释放表空间

    oracle 删除用户后释放表空间有个用户占用大量存储。删除之后表空间没有释放。。。。 网上百度一番后: 先使用语句查询表空间大小 HWM。HWM说明参考:https://www.cnblogs.com/husam/p/660443…

    2023-04-04
    144
  • Mysql之Binlog「终于解决」

    Mysql之Binlog「终于解决」1、简述 binlog 二进制日志文件,这个文件记录了MySQL所有的DML操作。通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。 2、Docker中无法使用vim问题解决

    2023-05-24
    143
  • Redis功能_redis aof

    Redis功能_redis aof慢查询 生命周期 1.client发送命令到redis 2.redis排队 3.redis执行命令(慢查询发生阶段) 4.redis返回结果到客户端 两个配置 slowlog-max-len 先进先…

    2022-12-27
    131
  • 提高数学计算精度的模块 – Python的math

    提高数学计算精度的模块 – Python的mathPython中的math模块是一个用于提供数学运算功能的标准库。它提供了各种数学函数,包括三角函数、指数函数、对数函数、常量等。使用math模块,我们可以实现一些特别精确的计算功能。

    2024-04-04
    70

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注