MySQL数据库的增、删、改、查案例,和常用语句

news2024/9/29 9:28:10

一、案例要求

二、解答过程

第一题

1、创建数据库Markte

mysql> create database Market;
mysql> use Market;

2、创建数据表customers,在c_num字段上添加主键约束和自增约束,在c_birth字段上添加非空约束

mysql> create table customers(
    -> c_num int(11) AUTO_INCREMENT,
    -> c_name varchar(50),
    -> c_city varchar(50),
    -> c_birth datetime not null,
    -> Primary key (c_num)
    ->);

3、将c_contact字段插入到c_birth字段后面

mysql> alter table customers modify
    -> c_contact VARCHAR(50) after c_birth
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

4、将c_name字段数据类型改为VARCHAR(70)

mysql> alter table customers modify
    -> c_name VARCHAR(70);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

5、将c_contant字段改名为c_phone

mysql> alter table customers change c_contact c_phone VARCHAR(50);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

6、增加c_gender字段数据类型为CHAR(1)

mysql> alter table customers 
    -> add c_gender CHAR(1);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

7、将表名修改为customers_info

mysql> alter table customers rename customers_info;
Query OK, 0 rows affected (0.00 sec)

8、删除字段c_city
 

mysql> alter table customers_info drop c_city;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

9、修改数据表的存储引擎为MylSAM

mysql> alter table customers_info ENGINE=MyISAM;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

第二题

1、创建数据表orders,在o_num字段上添加一个主键约束和自增约束,在c_id字段上添加外键约束,关联customers表中的逐渐c_num

mysql> create table orders(
    -> o_num int(11) primary key AUTO_INCREMENT,
    -> o_date DATE,
    -> c_id int(11),
    -> CONSTRAINT waijian FOREIGN KEY (c_id) REFERENCES customers (c_num)
    ->);

2、删除orders表的外键约束,然后删除表costomers

mysql> alter table orders drop foreign key waijian; //删除外键
mysql> drop table customers; //删除表

第三题

*创建数据库Team,定义数据库player,语句如上所示

mysql>create table player(
      playid int primary key,
      playname varchar(30) not null,
      teamnum int not null unique,
      info varchar(50)
 );

1、创建一个新账户,用户名为accountl,该用户通过本地主机连接数据库,密码为oldpwdl,授权该用户对Team数据库中的player表的SELECT和INSERT权限,并且授权该用户对player表的info字段的UPDATE权限

create user account1@'%' identified by 'oldpwd1';    //创建
grant select,insert on Team.player to account1@'%';  //给与表权限
grant select (info) on Team.player to account1@'%';  //给与info这列的权限

2、创建SQL语句,更改account1用户的密码为newpwd2

UPDATE mysql.user SET PASSWORD = PASSWORD("newpwd2") WHERE User = 'account1' and host = 'localhost';

3、创建SQL语句,使用FLUSH PRIVILEFHGS重新加载权限表

FLUSH PRIVILEGES;

4、创建SQL语句,查看授权给account1用户的权限

show grants for account1@'%';

5、创建SQL语句,收回account1用户的权限


REVOKE SELECT,INSERT,UPDATE(info) ON player FROM 'account1'@'%';

6、创建SQL语句,将account1用户的账号信息从系统中删除

drop user 'account1'@'%';

三、常用语句

1、查看数据库支持的字符集
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)


2、数据库字符集内核
mysql> show variables like 'coll%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+


3、CHAR(siza)和VARCHAR(size)的区别
CHAR是固定长度的,VARCHAR是可变长度的

4、表的约束
NOT NULL 非空
UNIQUE KEY 唯一键
PRIMARY KEY 主键
FOREIGN KEY 外键
AUTO_INCREMENT 自增
CHECK 检查
DEFAULT 默认值

5、增加字段
(1)增加一个字段--默认添加在末尾
mysql> alter table 表名
	-> add 字段名 字段类型;

(2)将某字段移动到某字段后面
mysql> alter table 表名 modify
	-> 字段名 字段类型 after 字段名;

(3)在首行插入新字段
mysql> alter table 表名
	-> add 字段名 字段类型 firest;

(4)在某个字段后新增一个字段
mysql> alter table 表名
	-> 字段名 字段类型 after 字段名;

6、新建数据库/数据表
mysql> create database 数据库名;
mysql> use 数据库名;
mysql> create table 数据表名(
	-> xxxxxx,
	-> xxxxxx,
	-> xxxxxx
	-> );

7、修改表的结构
修改列类型
ALTER TABLE 表名 MODIFY 列名 列类型;

增加列
ALTER TABLE 表名 ADD 列名 列类型;

删除列
ALTER TABLE 表名 DROP 列名;

列改名
ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型;

更改表名
ALTER TABLE 表名 RENAME 新表名;
RENAME TABLE 表名 TO 新表名;

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

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

相关文章

Ae 效果:CC Threshold RGB

风格化/CC Threshold RGB Stylize/CC Threshold RGB CC Threshold RGB(CC 阈值 RGB)效果可以为红、绿、蓝三个原色通道分别设置阈值,即,通道上高于此阈值时为纯白,低于此阈值时纯黑,以实现对原色通道的二值…

JavaWeb 笔记——4

JavaWeb 笔记——4 一、JSP1.1、JSP概述1.2、JSP快速入门1.3、JSP原理1.4、JSP脚本1.5、JSP缺点1.6、EL表达式1.7、JSTL标签1.8、MVC模式和三层架构 二、介于三层框架下的案例2.1、准备环境2.2、查询所有2.3、添加2.4、修改2.4.1、修改-回显数据2.4.2、修改-修改数据 2.5、删除…

windows利用ffmpeg采集摄像头画面,支持服务启动,支持一键启动

项目情况 1. 我们再windows 系统下采用ffmpeg去采集笔记本电脑摄像头的时候需要先获取摄像头的信息 2. 因为每台电脑摄像头的信息不一样,如果名称不对会导致不能采集 解决方案 bat脚本实现,先去获取摄像头信息,筛选出摄像头的信息&#…

从视频源头到边缘智能:实现端到端AI解决方案的技术挑战与实践

从视频源头到边缘智能:实现端到端AI解决方案的技术挑战与实践 引言端到端AI解决方案打通视频源头采集视频传输和存储边缘计算和盒子设备 SDK示列 引言 随着人工智能技术的快速发展,端到端AI解决方案在各个领域的应用越来越广泛。这些解决方案能够实现从…

Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)(二)(详解)

一、第一种方法: 1.首先你需要一个github账号,所以还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路(傻瓜式安装)直接安装即可&#x…

代码练习错误记录

更新数据库时报错 Exception in thread "main" java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near WHERE ID1 at line 1原因&#xff1…

Maven高级(一)--分模块设计与开发

一.Maven回顾 Maven是一款构建和管理java项目的工具。 如果我们需要开发一些中大型的项目,仅凭基础知识难以应付,所以我们接下来还需要学习Maven提供的一些高级功能,这些功能在中大型项目应用是非常多的。 Maven的高级内容包括:【…

vue3向对象中添加属性

使用场景:后端返回一个数组对象结构,会出现可能需要前端自己向对象中添加一个新的字段 在vue2中我们常常会遇到明明已经改变了数据,视图却没有实时更新这样的问题 这时vue2就提供了一个方法就是$set this.$set(this.userInfo, age, 12)但是在…

计算机组成原理综合实验设计:基于proteus的小型CPU的设计

基于proteus的小型CPU的设计 摘要 本文详细介绍了该小型CPU的设计模板及预估实现的功能,然后对模块的原理进行详实的概述。之后对项目设计进行了分析,从原理图和电路设计图方面进行了完整的呈现。在介绍完基本的设计框架后,本文对项目中的每…

Linux系统编程:文件描述符和重定向

目录 一. 文件描述符 1.1 什么是文件描述符 1.2 OS如何通过文件描述符找到指定文件 1.3 文件描述符的分配规则 二. 重定向 2.1 重定向的现象和底层原理 2.2 通过系统接口dup2实现重定向 三. 总结 一. 文件描述符 1.1 什么是文件描述符 Liunx操作系统为用户提供了四…

微积分习题课

目录 例题1: 例题2: 解法2: 例题3: 例题4: 方法2: 例题5: 例题6: 例题7: 例题8: 例题9: ​编辑 例题1: 例题2: 解法2&…

二元函数的泰勒展开

定理如下: 证明如下: 注意: 证明的核心要点是转化为关于新的变量的一元函数。

【Linux】进程间通信 -- 匿名管道 | pipe系统调用

什么是通信?为什么要有通信?如何实现?管道通信匿名管道 pipe系统调用读写特征管道的特征: 什么是通信? 进程具有独立性,我们现在的进程间需要通信,那么这个成本一定不低 数据传输:一个进程需要将…

@FeignClient源码浅析

Spring如何识别FeignClient 从EnableFeignClients 出发,寻找Spring如何识别FeignClient 从源码中查看到Import(FeignClientsRegistrar.class) Retention(RetentionPolicy.RUNTIME) Target(ElementType.TYPE) Documented Import(FeignClientsRegistrar.class) pub…

PyQt结合OpenCV实现实时人流量统计

1. 废话篇(可跳过) 之前学的基本都是Web端的技术。前两天的面试,让我深入的去学习一下 Qt 技术,了解完概念之后,才知道我之前接触的类 TkInter 技术,有点安卓开发的味道。。。 2. 人流量统计效果图 3. 业务…

L1-027 出租(Python实现) 测试点全过

题目 下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]2 对应 arr[2]1,index[1]0 对应 arr[0]8,index[2]3 对应 arr[…

Php Jenkins phpunit配置

目录 作用 前提 安装 安装xUnit插件 win10重启Jenkins 全局环境设置 创建项目配置 描述 源码管理 构建触发器 构建步骤 插件安装 工作空间 php代码phpunit文件示例 项目根目录配置 phpunit.xml Protect/Tests/test_start.php composer.json 作用 jenkins 自动…

【docker部署安装ApiSix】

docker安装ApiSi 常见问题-提前查阅 1-端口被占用 确保所需的所有端口(默认的 9080/9091/9443/2379/9000)未被其他系统/进程使用 #查询端口占用情况 netstat -antp |grep 9443# 如果端口冲突可尝试修改apisix的端口配置, # 但不建议&#x…

0305kali linux配置运行-docker-macos aarm64

文章目录 1 下载运行2 配置2.1 配置系统环境2.2 配置SSH服务2.3 安装工具 3 问题总结结语 1 下载运行 拉取kali linux镜像 docker pull kalilinux/kali-rolling该镜像为“纯净版”系统,没有任何工具,体积小。下面当我们运行起来之后,到容器中…

GlusterFs 分布式复制卷(Distributed-Replicate)性能测试

目录 fio工具参数解释 Glusterfs 和NFS 性能测试 顺序写: 随机写: 顺序读: 随机读: 随机读写: 参数说明: 测试结论: 与NFS对比 压测对比结果 NFS和GlusterFs的优缺点 NFS的优点 NFS…