数据库

建库操作

#创建数据库(默认字符集编码)
create database test20210420
#创建数据库的时候指定字符集编码以及字符校验规则
create database test20210420 CHARACTER set = utf8 COLLATE utf8_general_ci
#切换可用数据库(建表之前一定要切换)
use test20210420
#查看服务器的所有数据库
show databases
#删除数据库
drop database test20210420
#修改数据库字符集编码以及字符校验规则
alter database test20210420 CHARACTER set = utf8 COLLATE utf8_general_ci
#查看数据库信息
show create database test20210420

建表操作

#创建表:创建表的格式
create table student( student_id int, student_name varchar(20), student_birth int )
#插入数据的命令
insert into student values(1,'姚明',20)
#查询
select * from student
#删除表
drop table student

复制表操作

#结构和数据一起复制(有创建表)
create table testchar1 as select * from testchar
#结构复制(有创建表)
create table testchar2 like testchar

修改表操作

#1.给表中增加列
alter table testchar add t_age int
#2.给修改列名及列定义
alter table testchar change t_name1 t_name2 varchar(50)
#3.修改列定义
alter table testchar modify t_name2 varchar(100)
#4.删除列
alter table testchar drop t_age

辅助命令

#查看当前数据库中所有的表
SHOW TABLES;
#查看表的定义信息
SHOW CREATE TABLE testchar
#删除表
drop table testchar
#表重新命名
Rename table testchar to testchar3

NOT NULL非空,该字段的值必填

UNIQUE唯一,该字段的值不可重复

DEFAULT默认,该字段的值不用手动插入有默认值

CHECK检查,mysql不支持

PRIMARY KEY主键,该字段的值不可重复并且非空 unique+not null

FOREIGN KEY外键,该字段的值引用了另外的表的字段

主键和唯一的异同:

区别:

①一个表最多可以有一个主键,但可以有多个唯一键

[En]

① A table can have at most one primary key, but can have more than one unique

②主键不允许为空,只能为空

[En]

② primary key is not allowed to be empty, only can be empty

相同点

①都具有唯一性

②支持组合键,但不推荐使用

[En]

② supports key combinations, but it is not recommended

主表和从表:

主表(父表)引用字段所在的表

[En]

Primary table (parent table) the table in which the referenced field is located

数据库中建立的表格即Table,其中存在主键(primary key)用于与其它表相关联,并且作为在主表中的唯一性标识。

从表(子表)

以主表的主键(primary key)值为外键(Foreign Key)的表,可以通过外键与主表进行关联查询。从表与主表通过外键进行关联查询。

修改表时添加或删除约束

#1、非空
    #添加非空
    alter table 表名 modify column 字段名 字段类型 not null;
    #删除非空
    alter table 表名 modify column 字段名 字段类型 ;
#2、默认
    #添加默认
    alter table 表名 modify column 字段名 字段类型 default 值;
    #删除默认
    alter table 表名 modify column 字段名 字段类型 ;
#3、主键
    #添加主键
    alter table 表名 add【constraint 约束名】 primary key(字段名);
    #删除主键
    alter table 表名 drop primary key;
#4、唯一
    #添加唯一
    alter table 表名 add【 constraint 约束名】 unique(字段名);
    #删除唯一
    alter table 表名 drop index 索引名;
#5、外键
    #添加外键
    alter table 表名 add【 constraint 约束名】 foreign key(字段名) references 主表(被引用列);
    #删除外键
    alter table 表名 drop foreign key 约束名;
#自增长列
    #添加自增长列
    alter table 表 modify column 字段名 字段类型 约束 auto_increment
    #删除自增长列
    alter table 表 modify column 字段名 字段类型 约束

Original: https://www.cnblogs.com/am0304/p/16481491.html
Author: 超甜的小布丁
Title: 数据库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505214/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 机器学习模型太慢?来看看英特尔(R) 扩展加速 ⛵

    💡 作者:韩信子@ShowMeAI📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41📘 本文地址:https://www.showm…

    数据库 2023年6月14日
    083
  • 1 请谈谈面向对象的三大特征?

    隐藏对象的属性和实现细节,仅对外公开接口,控制程序中属性的读取和修改的访问级别; 封装就是将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据和操作数据的源代码有机结合,…

    数据库 2023年6月6日
    0204
  • C/C++内存泄漏检测方法

    内存泄漏 检测代码 使用链表记录每个malloc返回的指针,释放时从链表中查找并删除找到对应指针的节点。 最终输出链表,该链表记录了所有没有释放的动态内存。 #include #i…

    数据库 2023年6月14日
    082
  • Spring(三)-AOP

    1、名词理解 切面(Aspect): 含有前置通知,后置通知,返回通知,异常抛出通知,环绕通知等方法的 类; 通知(Advice): 对原方法进行添加处理(如日志等)的 方法; 切…

    数据库 2023年6月16日
    079
  • MySQL 回表

    MySQL 回表 五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。 一、简述 回表,顾名思义就是回到表中,也就是先通过普通索引扫描出数据所在的行,再通过行主键ID 取出索引中未包含…

    数据库 2023年6月14日
    075
  • centos8安装mysql

    前言 最近在centos8系统下部署django项目时,要用到mysql数据库,在安装中遇到了点坑,之后参考了一位博主的文章,也是顺利的安装配置成功,博主原文连接: ((20条消息…

    数据库 2023年5月24日
    085
  • 记一次MySql唯一索引在left join连表查询没走索引的问题

    在新建一张账单结算信息表bill_settlement_info的时候,建立的唯一索引uk_bill_no(bill_no,tenant_id)。由于列表查询用到该表的字段。所以在…

    数据库 2023年5月24日
    0129
  • 配置文件动态刷新

    1. 背景 2. 相关知识储备 思路一 : 民科 mtime 文件最后修改时间 思路二: 科班 操作系统通知特性, 例如 linux 的 inotify 3. 相关代码设计 总结 …

    数据库 2023年6月9日
    082
  • ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’localhost’

    发现网上很多帖子都是互相抄袭的,关键是不能解决执行后的问题,在这里分享我的解决方案。 [En] Found a lot of posts on the Internet are c…

    数据库 2023年5月24日
    090
  • 爬虫基础

    1.爬虫是什么? 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。 2.爬虫原理 _3.第一个爬虫程序 _ 1.扒取网页 : 扒取网页和基本代码 首先我们调…

    数据库 2023年6月11日
    074
  • 名言小抄(六)

    1.一个人对世界最大的贡献就是让自己快乐起来。 4.人生最好的三个词 久别重逢、失而复得、虚惊一场却没有,和好如初 ,只因和好容易,如初太难。很多东西,一旦打破,就很难圆满。有些故…

    数据库 2023年6月16日
    080
  • springboot~手动加载thymeleaf模版

    thymeleaf在spring-mvc时代很是盛行,与freemaker组成了两大模版引擎,而进行springboot之后,很多项目都采用前后分离的模式,这使得模板引擎关注度少了…

    数据库 2023年6月6日
    0113
  • java基础

    java基础知识图解 软件开发 软件开发 软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件和应用软件之分。 人机交互方式 图形化界面(Graphical User…

    数据库 2023年6月16日
    066
  • 达梦产品技术支持培训-day6-DM性能诊断与优化

    (本文只作为个人随笔用途,非官方文档,请勿作他用,谢谢) 1、DM8查询优化基本思路 1.1 操作系统性能诊断 linux常用系统监控命令 top 主要关注DMserver 的CP…

    数据库 2023年6月11日
    074
  • MongoDB的CRUD操作(入门)

    MongoDB的简单介绍: 1:MongoDB是什么? mongodb是非关系数据库 但是是非关系数据库当中功能最丰富,最像关系数据库的 MongoDB是一个基于分布式文件存储的数…

    数据库 2023年6月6日
    0119
  • 2022 IEEE 编程语言榜单发布!Python 又双叒叕霸榜了,学 SQL 工作更吃香!

    哈喽兄弟们! 近年来,Python 宛如一匹黑马,一骑绝尘,横扫 TIOBE、Stack Overflow 等榜单,如今在 IEEE Spectrum 发布的第九届年度顶级编程语言…

    数据库 2023年6月14日
    0101
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球