首页 > 数据库 >mysql 数据库基本操作

mysql 数据库基本操作

时间:2024-04-05 20:00:18浏览次数:14  
标签:default 数据库 --- user mysql 基本操作 null table id

mysql 数据库基本操作

1、创建五张表

– user 表:后台用户表
– product 表:产品表
– account 表:客户账户表
– product_account 表 : 客户购买表
– customer 表 : 客户表

2、创建表 SQL 语句:

注意:下面 SQL 语句是直接在控制台创建表
即:WIN+R --> cmd --> mysql -uroot -p密码)

mysql> create database webtest;
mysql> use webtest;	
mysql> create table user (
    uid int primary key auto_increment,
    username varchar(20),
    password varchar(20),
    nickname varchar(20)
   );
Query OK, 0 rows affected (0.76 sec)	

在这里插入图片描述

3、插入数据

insert into user values (null,‘tom’,‘123’,‘张三’);
insert into user values (null,‘lisi’,‘123’,‘李四’);
insert into user values (null,‘wangwu’,‘123’,‘王五’);
insert into user values (null,‘zhaoliu’,‘123’,‘赵六’);
insert into user values (null,‘zhouqi’,‘123’,‘周七’);

在这里插入图片描述

4、创建表 – 图形界面工具 SQLyong – 执行 SQL 查询 语句:

下面 SQL 语句是在 SQLyog ULtimate - MySQL GUI(v12.09-64bit)创建
注意:id 等两边不是单引号,而 Tab 上面符号。
(图形界面 Navicat SQLyog 等软件,连接 mysql 数据库,密码加密方式不同)
需要先登录 mysql 数据库,通过下面的语句修改用户的密码方式和重置密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12311';
select User,Host from mysql.user;

才能通过图形界面 Navicat SQLLyog 等软件,连接 mysql 数据库

— 创建 p2p 数据库:
mysql> create database p2p;

— 使用 p2p 数据库:
mysql> use p2p;

— 创建 user 数据表:
create table user (
id int(11) not null auto_increment,
username varchar(20) default null,
password varchar(20) default null,
primary key (id)
)ENGINE=INNODB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

— 创建 product 数据表:
CREATE TABLE product (
id INT(11) NOT NULL AUTO_INCREMENT,
proNum VARCHAR(20) DEFAULT NULL,
proName VARCHAR(20) DEFAULT NULL,
proLimit INT(11) DEFAULT NULL,
annualized DOUBLE DEFAULT NULL,
releaseDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=INNODB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

— 创建 customer 数据表:
create table customer (
id int(11) not null auto_increment,
c_name varchar(20) default null,
email varchar(50) default null,
email_status int(11) default null,
password varchar(20) default null,
primary key (id)
) engine=InnoDB auto_increment=10 default charset=utf8;

— 创建 account 数据表:
create table account (
id int(11) not null auto_increment,
total double default null,
balance double default null,
interest double default null,
c_id int(11) default null,
primary key (id),
key c_id (c_id),
constraint account_ibfk_1 foreign key (c_id) references customer (id)
) engine=InnoDB auto_increment=2 default charset=utf8;

— 创建 product_account 数据表:
create table product_account (
id int(11) not null auto_increment,
pa_num varchar(20) default null,
pa_date timestamp not null default current_timestamp on update current_timestamp,
c_id int(11) default null,
p_id int(11) default null,
primary key (id),
key c_id (c_id),
key p_id (p_id),
constraint product_account_ibfk_1 foreign key (c_id) references customer (id),
constraint product_account_ibfk_2 foreign key (p_id) references product (id)
) engine=InnoDB default charset=utf8;

5、向 user 表插入数据:

mysql>  insert into user values (null,'tom','123');

6、查询 user 表数据:

mysql>   select * from user;

在这里插入图片描述

7、其他操作:

--- 清空 user 表数据:
truncate user;

在这里插入图片描述

--- 给某一张表添加一个列
ALTER TABLE `user` ADD `username` TEXT NOT NULL;	
--- 例如
alter table user add money Float(11) NULL default 6;
 
--- 建表时 给某列添加默认值
create table tablename (columnname datatype default defaultvalue);
 
--- 已建表后修改某表
alter table tablename alter column columnname set default defaultvalue;
 
--- 给 user 表的 username 添加唯一约束
Alter table user add unique(username);
 
--- 更改 app_activity 表中 digest 的字段,允许为空
ALTER TABLE app_activity MODIFY digest VARCHAR(255) null;
 
--- 删除某一字段
ALTER TABLE mytable DROP 字段名;
 
--- 修改列的类型
alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];
如: ALTER TABLE product CHANGE releaseDate releaseDate TIMESTAMP NULL;
 
--- 更改表名
rename table 旧表名 to 新表名;
 
--- 添加 utf8 编码库,删除一个数据库
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
DROP database test;
 
--- 删除一个索引
alter table 表名 drop index 索引列的名字;
 
--- 查看表的字段信息:
desc 表名;

--- 查看表的所有信息:
show create table 表名;

--- 添加主键约束:
alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);

--- 添加外键约束:
alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign ey 从表(外键字段) references 主表(主键字段);

--- 删除主键约束:
alter table 表名 drop primary key;

--- 删除外键约束:
alter table 表名 drop foreign key 外键(区分大小写);
 
--- 删除唯一约束(username该列上有一个唯一约束,app_user为表名)	:
drop index username on app_user;

标签:default,数据库,---,user,mysql,基本操作,null,table,id
From: https://blog.csdn.net/qfyh_djh/article/details/137278260

相关文章

  • ETL工具-nifi干货系列 第八讲 处理器PutDatabaseRecord 写数据库(详细)
    1、本节通过一个小例子来讲解下处理器PutDatabaseRecord,该处理器的作用是将数据写入数据库。如下流程通过处理器GenerateFlowFile生成数据,然后通过处理器JoltTransformJSON转换结构,最后通过处理器PutDatabaseRecord将数据写入数据库。如下图所示 2、处理器GenerateFlowFile......
  • 使用pip install mysqlclient命令安装mysqlclient失败?
    写在前面我们使用Django、flask等来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。常见的Mysql驱动介绍:MySQL-python:也就是MySQLdb。是对C语言操......
  • MySQL-相关约束
    MySQL-约束前提:防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。有以下考虑要点:①实体完整性(EntityIntegrity):例如,同一个表中,不能存在两条完全相同无法区......
  • MySQL 主从复制
    概述在主从复制中,一般有一个主数据库(Master)和一个或多个从数据库(Slave),主数据库负责接收和处理写操作,从数据库复制主数据库的日志文件,将写操作在自身的数据库重演,从而实现数据的同步复制类型STATEMENT:把主数据库执行的sql复制到从数据库,是默认类型ROW:直接把数据行复制过去......
  • 【附源码】计算机毕业设计招投标管理系统(java+springboot+mysql+mybatis+论文)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义在建筑、工程及众多行业领域,招投标活动是获取项目和签订合同的关键环节。一个高效的招投标管理系统能够帮助企业规范招投标流程,提高文档处理效率,确保信息透明公正,......
  • 【附源码】计算机毕业设计在线音乐播放平台(java+springboot+mysql+mybatis+论文)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义在线音乐播放平台随着互联网技术的发展和数字媒体的普及逐渐成为人们获取音乐的主要途径。这类平台不仅为用户提供了便捷的音乐收听体验,还推动了音乐产业的新商业......
  • Mysql的事务
    MySQL的事务(Transaction)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务能把数据库从一个一致性状态转变为另一个一致性状态。1事务得特性A/Atomicity:原子性C/Consistency:......
  • 关于MySQL数据库的几个简单的入门代码注释
    不是很全,是我刚开始学习数据库时记的笔记%FOUND判断游标有效性%ROWTYPE行数据类型%属性:=赋值符号1ISTABLEOF21、2类型一样ABS系统自带函数绝对值ALL()比所有都ANY()任意一个(some用法意思一样)AS命别名,连接ASC升序AVG()函数求平均数BEGIN执行部分BULKCOLLECT......
  • java计算机毕业设计(附源码)优乐帮育儿系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今社会,随着生活节奏的加快和社会竞争的日益激烈,父母面临着巨大的育儿压力。育儿不再仅仅是满足孩子的基本生理需求,更涉及到心理、教育、健康等多方面......
  • java计算机毕业设计(附源码)优书校园平台(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在信息技术飞速发展的今天,教育领域亦紧跟时代步伐,逐渐实现数字化转型。传统的教育资源分配和学习方式正面临着重大的变革,其中,优书校园平台作为这一转型的......