MySQL_6.MySQL常用创建语句

1.数据库创建,查询,删除
(1)创建一个test数据库

CREATE DATABASE test ;
CREATE DATABASE IF NOT EXISTS test;

# default character set :默认字符集

CREATE DATABASE IF NOT EXISTS test default character set UTF8;
# default collate:默认排序规格
# utf8_general_ci:不区分大小写
# utf8_general_cs:区分大小写            
CREATE DATABASE IF NOT EXISTS tkjy default character set UTF8 default collate utf8_general_ci;  

(2)切换数据库

use test;

(3)查询数据库

show databases; 


# 如果有很多数据库,模糊查询某个数据库

show databases like '%test%';


# 查询创建数据库的语句

show create database test;


# 更新数据库选项信息(操作需要谨慎)

alter database test character set gbk;

(4)删除数据库

drop database test;
drop database if exists test;

(5)使用mysqladmin工具创建、删除数据库

mysqladmin create test  -uroot -p123456
mysqladmin drop test  -uroot -p123456

2.mysql约束对应的五大关键词

NOT NULL:        如果在列上定义了 not null,那么当插入数据时,必须为列提供数据
UNIQUE:          当定义了唯一约束后,该列值是不能重复的,但是可以为null
Primary Key:    用于唯一的标识表行的数据,当定义主键约東后,该列不但不能重复而且不能为NULL。
Foreign Key:    用于定义主表和从表之间的关系,外键约束要定义在从表上,主要则必须具有主键约束或是 uniques约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或是为NULL
CHECK:          用于强制行数据必须满足的条件

3.创建表,修改表,删除表等操作
(1)在test数据库下面创建一张student学生表

use test;
create table if not exists student(id int(5) unsigned auto_increment primary key comment '学生表主键',name varchar(20) not null comment '学生姓名',age tinyint  not null comment '学生年龄',admission_time datetime comment '入学时间',gender enum('男','女','保密') comment '学生性别',student_id int(10) UNIQUE comment '学生编号'
) engine=innodb  default charset=utf8  comment '学生表';# auto_increment :            主键自增(可选操作)
# engine :                    表使用存储引擎(可选操作)
# comment :                   注释(可选操作)
# default charset :           表的字符集(可选操作)

(2)使用like 关键字通过旧表创建新表 ( 包括旧表的 结构 + 信息 + 索引 )

create table <table_name> like <old_table_name>;
create table a like student;

(3)使用as 关键字通过旧表创建新表 ( 包括旧表的 结构 + 信息 )

create table <table_name> as select * from <old_table_name>;
create table b as select * from a;

(4)查看表、表结构、表创建语句

show tables;
show tables from test; 
show tables like '%stud%';
desc student;
show create table student \G;

(5)删除表

drop table student;

(6)重命名表

rename table student to new_student;

(7)截断表

truncate table new_student;

(8)修改表结构

alter table <table_name> add/drop/modify/change


# 增加列、增加主键

alter table new_student add student_from varchar(10) not null;
alter table new_student add (phone int unique not null,email varchar(20));
alter table new_student add primary key (id);

# 删除列、删除主键约束、删除自增的主键约束

alter table new_student drop email;
alter table new_student drop primary key;
alter table new_student change id id int; 
alter table new_student drop primary key;

# 重命名列

alter table new_student change student_from st_from varchar(10);

# 修改表字段属性

alter table new_student modify st_from varchar(15) unique ;

# 修改字符集,有数据不能改

alter table new_student character set gbk;
alter table new_student character set utf8;

(9)在test数据库创建包含外键的员工表(YG)和工资表(gz)

# 创建工资表

create table if not exists test.gz(id int(5) primary key comment '工资表主键',salary int(7) not null comment '薪水',job varchar(10)  not null comment '工作岗位',department varchar(5) not null comment '工作部门'
) 
engine=innodb  default charset=utf8  comment '员工表';

# 工资表插入数据

insert into test.gz values (1,10000,'销售','销售部');
insert into test.gz values (2,15000,'Oracle DBA','技术部');
insert into test.gz values (3,20000,'mysql DBA','技术部');
insert into test.gz values (4,18000,'java','研发中心');
insert into test.gz values (5,30000,'C++','研发中心');
insert into test.gz values (6,16000,'python','研发中心');
commit;

# 查看工资

select * from test.gz;

# 创建员工表

create table if not exists test.yg(id int(5) unsigned auto_increment primary key comment '员工表主键',name varchar(7) not null comment '员工姓名',age tinyint  not null comment '员工年龄',entry_time year comment '入职时间',gender enum('男','女','保密') comment '员工性别',gz_id int(5) not null,foreign key (gz_id) references tkjy.gz (id)
) engine=innodb  default charset=utf8  comment '员工表';

# 外键必须是主表的主键或者唯一键,如果是另外一张表主键的话,该表主键不允许带有auto_increment 自增长属性。
# 主表记录删除时 on delete cascade / 更新时的动作 on update cascade 
# 创建表以后再增加外键也可以

 alter table tkjy.yg add foreign key (gz_id) references test.gz (id);

#插入数据测试(在主表间键值内成功)

insert into test.yg values (1,'春野樱',18,2015,'女',1);
insert into test.yg values (2,'漩涡鸣人',18,2016,'男',2);
insert into test.yg values (3,'宇智波佐助',18,2017,'男',2);
insert into test.yg values (4,'第一代火影',65,1970,'男',3);
insert into test.yg values (5,'第二代火影',60,1975,'男',4);
insert into test.yg values (6,'第三代火影',38,2000,'男',5);
insert into test.yg values (7,'第四代火影',38,2000,'男',6);
commit;
select * from test.yg;

#插入数据测试(在主表间键值外失败)

insert into tkjy.yg values (8,'宇智波斑',28,2020,'男',7);


外键总结:mysql数据库不建议使用外键、会极大影响数据库运行性能(并发访问)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/210863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端知识(七)———HTTPS:保护网络通信安全的关键

当谈到网络通信和数据传输时&#xff0c;安全性是一个至关重要的问题。在互联网上&#xff0c;有许多敏感信息需要通过网络进行传输&#xff0c;例如个人身份信息、银行账户信息和商业机密等。为了保护这些信息不被未经授权的人访问和篡改&#xff0c;HTTPS&#xff08;超文本传…

AI:大语言模型LLM

LLM 大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;是一种利用大量文本数据进行训练的自然语言处理模型&#xff0c;其评价可以从多个方面进行。 以下是一些主要的评价方面&#xff1a; 语言理解和生成能力&#xff1a;评价大语言模型在自然语言理…

模型评价指标

用训练好的模型结果进行预测&#xff0c;需要采用一些评价指标来进行评价&#xff0c;才可以得到最优的模型 常用的指标&#xff1a; 1.分类任务 ConfusionMatrix 混淆矩阵Accuracy 准确率Precision 精确率Recall 召回率F1 score H-mean值ROC Curve ROC曲线PR …

PostgreSQL pgvector:如何利用向量数据库提升搜索效率和精度

LLMs模型实战教程 文章来源&#xff1a;https://zhuanlan.zhihu.com/p/641516393 Kevin 一、介绍 随着基础模型的兴起&#xff0c;向量数据库的受欢迎程度也飙升。事实上&#xff0c;在大型语言模型环境中&#xff0c;向量数据库也很有用。 在机器学习领域&#xff0c;我们经…

天池SQL训练营(三)-复杂查询方法-视图、子查询、函数等

-天池龙珠计划SQL训练营 SQL训练营页面地址&#xff1a;https://tianchi.aliyun.com/specials/promotion/aicampsql 3.1 视图 我们先来看一个查询语句&#xff08;仅做示例&#xff0c;未提供相关数据&#xff09; SELECT stu_name FROM view_students_info;单从表面上看起来…

C#反射加载程序集并使用

具体实现参考&#xff1a; C# 动态加载DLL通过反射调用参数、方法、窗体_c#反射加载dll并传入参数-CSDN博客 C#进阶学习--反射(Reflection) - 知乎 走进C#反射机制 - 知乎 1.使用过程 //创建数据集 Assembly outerAsm Assembly.LoadFile("D:/your.dll");//获取…

rancher harvester deploy demo 【部署 harvester v1.2.1】

简介 Harvester 是一个现代的、开放的、可互操作的、基于Kubernetes的超融合基础设施(HCI)解决方案。它是一种开源替代方案&#xff0c;专为寻求云原生HCI解决方案的运营商而设计。Harvester运行在裸机服务器上&#xff0c;提供集成的虚拟化和分布式存储功能。除了传统的虚拟机…

pgsql存储过程

由于部分企业数据库从aws迁移到腾讯云&#xff0c;导致有一个定时任务&#xff08;从详情表汇总数据到统计表中&#xff09;错过了触发&#xff0c;所以这部分企业的数据需要触发重新刷一下&#xff0c;但是又有规定白天不允许上线&#xff0c;只能把定时任务的逻辑用存储过程&…

SQL SELECT 语句

SELECT 语句用于从数据库中选取数据。 SQL SELECT 语句 SELECT 语句用于从数据库中选取数据。 结果被存储在一个结果表中&#xff0c;称为结果集。 SQL SELECT 语法 SELECT column1, column2, ... FROM table_name; 与 SELECT * FROM table_name; 参数说明&#xff1a; …

五花八门客户问题(BUG) - 用好strace

strace简介 strace是一个用于跟踪系统调用和信号传递的Linux命令,它是一个集诊断、调试、统计于一体的工具。strace可以监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。它底层使用内核的ptrace特性来实现其功能。 strace最简单的用法是执行一个指定…

二分查找|双指针:LeetCode:2398.预算内的最多机器人数目

作者推荐 本文涉及的基础知识点 二分查找算法合集 滑动窗口 单调队列&#xff1a;计算最大值时&#xff0c;如果前面的数小&#xff0c;则必定被淘汰&#xff0c;前面的数早出队。 题目 你有 n 个机器人&#xff0c;给你两个下标从 0 开始的整数数组 chargeTimes 和 runnin…

Django回顾7

一.Django缓存 1.缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力…

算法:最长公共前缀(横向扫描和纵向扫描)

横向扫描 时间复杂度 O(m * n)&#xff0c;空间复杂度O(1) /*** param {string[]} strs* return {string}*/ var longestCommonPrefix function(strs) {// 先把第一个字符串拿出来let str strs[0]// 用 startsWith 检查数组中每个字符串是否以当前字符串为前缀while(!strs.e…

听GPT 讲Rust源代码--src/tools(11)

File: rust/src/tools/rust-analyzer/crates/hir/src/lib.rs 在Rust源代码中&#xff0c;rust/src/tools/rust-analyzer/crates/hir/src/lib.rs文件的作用是定义了Rust语言的高级抽象层次&#xff08;Higher-level IR&#xff0c;HIR&#xff09;。它包含了Rust语言的各种结构和…

Python:核心知识点整理大全10-笔记

目录 5.4 使用 if 语句处理列表 5.4.1 检查特殊元素 toppings.py 5.4.2 确定列表不是空的 5.4.3 使用多个列表 5.5 设置 if 语句的格式 5.6 小结 第6章 字 典 6.1 一个简单的字典 alien.py 6.2 使用字典 6.2.1 访问字典中的值 6.2.2 添加键—值对 6.2.3 先创建一…

智能优化算法应用:基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜉蝣算法4.实验参数设定5.算法结果6.参考文献7.MA…

JAVA+SSM+springboot+MYSQL企业物资库存进销存管理系统

。该系统从两个对象&#xff1a;由管理员和员工来对系统进行设计构建。主要功能包括首页、个人中心、员工管理、项目信息管理、仓库信息管理、供应商管理、项目计划管理、物资库存管理、到货登记管理、物资出库管理、物资入库管理等功能进行管理。本企业物资管理系统方便员工快…

linux 定时任务

使用 crontab Usage: crontab [-u user] [-e|-l|-r] Crontab 的格式说明如下: * 逗号(‘,’) 指定列表值。如: “1,3,4,7,8″ * 中横线(‘-’) 指定范围值 如 “1-6″, 代表 “1,2,3,4,5,6″ * 星号 (‘*’) 代表所有可能的值 */15 表示每 15 分钟执行一次 # Use the ha…

C++编程法则365天一天一条(24)RTTI运行时类型信息typeid和type_info

文章目录 基本用法编译时或运行时判定 基本用法 typeid 是 C 的一个运算符&#xff0c;它用于获取表达式的类型信息。它返回一个 std::type_info 对象引用&#xff0c;该对象包含有关表达式的类型的信息。 要使用 typeid 运算符&#xff0c;需要包含 <typeinfo> 头文件…

关于振动试验

这是试验的说明&#xff08;来自gbt4710-2009&#xff09; 这是试验的参数&#xff1a; 一、试验方向&#xff1a; 振动试验中有几个方向 除有关规范另有规定外&#xff0c;应在产品的三个互相垂直方向上进行振动试验。 一般定义产品长边为X轴向&#xff0c;短边为Y轴向&…