首页 > 数据库 >数据库的创建与删除

数据库的创建与删除

时间:2023-08-29 15:45:34浏览次数:33  
标签:COMMENT 删除 -- 创建 数据库 TABLE NULL ALTER 字段名

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. 所有符号全部用英文!

标签:COMMENT,删除,--,创建,数据库,TABLE,NULL,ALTER,字段名
From: https://www.cnblogs.com/yuan947022015/p/17664974.html

相关文章

  • SqlServer中查询数据库所有表及其数据总条数和占用空间
    1、查询某数据库中的所有数据表SELECTname数据表FROMsysobjectsWHERExtype='u'ORDERBYname2、查询某数据库中的所有数据表及其数据总条数SELECTa.name数据表,b.rows数据总条数FROMsysobjectsASaINNERJOINsysindexesASbONa.id=......
  • 【随手记】远程连接orcale数据库(PLSQL、Navicat)
    如果不是为了图方便,最好在本地安装数据库不过安装Orcale确实有点麻烦,而且数据库是共同使用的,远程连接弄好了可以省去很多时间。具体操作这里不说了,网上都有,直接搜索PLSQL或者Navicat远程连接数据库就行。踩坑这里说一下我遇到的问题吧,我先用navicat远程连接的,下载好客户......
  • 通过AOP拦截Spring Boot日志并将其存入数据库
    本文分享自华为云社区《SpringBoot入门(23):【实战】通过AOP拦截SpringBoot日志并将其存入数据库》,作者:bug菌。前言在软件开发中,常常需要记录系统运行时的日志。日志记录有助于排查系统问题、优化系统性能、监控操作行为等。本文将介绍如何使用SpringBoot和AOP技术实现拦截系......
  • 数据库同步
    刚开始使用分页的方式同步数据,idasc到2000多万条之后,效率慢了。总结:分页到最后,会越来越慢通过请教大石头大佬,进行了优化大数据同步,一般不用分页的方式,XCode里面是把分页抽取器放在最后的。每次抽取后,下一次用whereid>lastMaxId。你可以参考XCode里面的集中抽取器,最好用的......
  • Greenplum 数据库启用pgbouncer
    pgbouncer是PostgreSQL的轻量的连接池,可以有效降低连接数,提升系统性能。Greenplum当前版本已经自带,只是多数组织在实践中似乎并未启用此服务,也算是一种资源的浪费了。gpbouncer有三种连接方式:Sessionpooling/会话连接池最普通的方式,在客户端连接的时候,在它的连接生命期内,会给......
  • HBase 分布式数据库
    我从来没见过我们单位的主库系统,无论是小机或者EMC。如果哪天在值班时,收到通知主库挂了,我会觉得是一个深藏在机房沉重铁门里的大家伙,冒了几缕青烟,紧接着监控上各种Web小图标就都红了....在5、6年前,我们就希望能用分布式存储和分布式数据库来替代集中存储,觉得分布式廉价,而且高可靠。......
  • c++ 删除 类的拷贝和赋值函数
      #pragmaonce#include"include/cef_app.h"classHttpSchemeFactory:publicCefSchemeHandlerFactory{public:HttpSchemeFactory()=default;//删除拷贝函数HttpSchemeFactory(constHttpSchemeFactory&)=delete;//删除赋值函数H......
  • .NET Core Entity Framework Core 创建数据库
    自动创建数据库必须在NuGet中安装一下EFCore库Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Tools数据迁移常用命令dotnetefmigrationsaddNewColum--新增migrationsdotnetefdatabaseupdate--跟新数据库dotnetefmigrationsaddAddrs--......
  • 深入理解数据库连接池及其在后端性能优化中的作用
    在后端开发中,数据库连接池是一个至关重要的概念,它在保障系统性能、资源利用以及稳定性方面起着重要作用。本篇博客将深入探讨数据库连接池的工作原理,以及在Java应用中如何合理地配置和使用连接池来优化后端性能。什么是数据库连接池?数据库连接池是一个管理数据库连接的技术,它在应用......
  • MYSQL如何从文件中把数据复制进数据库表中
    。至少有两种修正方法:·编辑文件“mysql.txt”改正错误,然后使用DELETE和LOADDATA清空并重新装载表:·mysql>DELETEFROMpet;·mysql>LOADDATALOCALINFILE'pet.txt'INTOTABLEpet;注:‘***’->是你的文件路径地址然而,如果这样操做,......