Mysql数据库和表的操作

本文详细介绍了MySQL数据库的操作,包括查看版本和状态、启动和停止服务、环境变量配置、连接数据库、数据库及表的管理。重点讲解了如何创建、修改和删除数据库、表以及数据,强调了数据完整性的重要性和实现方式,如唯一性约束和外键约束。此外,还展示了插入、更新和删除数据的SQL语句及其注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库操作
mysql命令语句
select version(); 查看数据库版本
status; 查看数据库状态

windows命令行
net start mysql57 启动mysql服务
net stop mysql57 停止mysql服务
环境变量配置:mysql.exe的路径,这样每次启动mysql时,就不需要转到该路径才能使用mysql
mysql -h localhost -u root -p 连接mysql

mysql命令行客户端
查看所有的数据库:show databases;
创建数据库:create database mydb;
删除数据库:drop database mydb;
查看在哪个数据库下进行操作:select database();
转到指定数据库下进行操作:use database mydb;

Mysql建表

create [temporary] table [if not exists] table_name [(create_definition,...)]
[table_options][select_statement]

说明:[]表示可选
temporary:表示创建临时表,在当前会话结束后将自动消失
if not exists:在建表前,先判断表是否存在,只有该表不存在时才创建
create_definition:建表语句的关键部分,用于定义表中各列的属性
table_options:表的配置选项,例如:表的默认存储引擎、字符集
select_statement:通过select语句建表

#表的初始化
#创建表的字段

create table contacts(
	id int primary key,
	name varchar(30),
	phone varchar(11)
);

#增加表的字段

alter table contacts add sex char(1);

#修改字段的属性

alter table contacts modify sex int;

#删除表的字段

alter table contacts drop column sex;

#删除表

show tables; #查看所有表
drop table contacts;

#向表中插入数据
在Mysql中,使用inser into语句向数据表中插入数据

insert 插入单条数据

insert into table_name(field1,field2,...,fieldN) values(value1,value2,...,valueN);

insert 插入多条数据

insert into table_name(field1,field2,...,fieldN) values(valueA1,valueA2,...,valueAN),(valueB1,valueB2,...,valueBN),...(valueN1,valueN2,...valueNN);

注意事项:

  1. 如果字段是字符型,值必须使用单引号或者双引号,如"value";如果值本身带单引号或双引号,需要转义
  2. 如果所有列都要添加数据,insert into语句可以不指定列,即
    insert into table_name values(value1,value2,…,valueN);不常见
create table contacts(
	id int not null auto_increment primary key,
	name varchar(50),
	sex tinyint default 1,
	phone varchar(11)
)engine=innodb default charset=utf8;

insert into contacts(name,sex,phone) values("张三",1,'15800000000');

insert into contacts(name,sex,phone) values("Tom's cat",1,'15800000001');

insert into contacts(name,sex,phone) values('Lau\'s cat',1,'15800000002');

insert into contacts(name,sex,phone) values('李四',1,'15800000003'),('王五',1,'15800000004');

insert into contacts(name,phone) values('赵六','15800000005');

update contacts set sex=2;
update contacts set sex=1;

update contacts set sex=2 where id=4;

update contacts set sex=2,phone='15800000006' where id=5;

delete from contacts where id=4;
delete from contacts;

#修改表中的数据
在Mysql中,使用update语句修改数据表中的数据

update语法:

update table_name set field1=newvalue1,field2=newvalue2[where clause]

注意事项:

  1. 可以同时更新一个或多个字段
  2. 可以通过where子句来指定更新的范围,如果不带where,则更新数据表中的所有记录

#删除数据
在Mysql中,使用delete语句来删除数据表中的数据

delete语法:

delete from table_name[where clause]

注意事项:

  1. 可以通过where子句来指定删除的范围,如果不带where,则删除数据表中的所有记录

#数据完整性
数据完整性是指存储在数据库中的数据,应该保持一致性和可靠性
关系模型允许定义三类数据约束,它们是实体完整性、参照完整性以及用户定义的完整性约束,其中前两种完整性约束由关系数据库系统自动支持

实体完整性要求每张表都有唯一标识符,每张表中的主键字段不能为空且不能重复(唯一性约束、主键约束、标识列)

域完整性是针对某一具体关系数据库的约束条件,它保证表中某些列不能输入无效的值。域完整性指列的完整性,如数据类型、格式、值域范围、是否允许空值等。(限制数据类型、检查约束、默认值、非空约束)

参照完整性要求关系中不允许引用不存在的实体(外键约束)

用户自定义完整性
用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求(规则、存储过程、触发器)

唯一性约束:在Mysql中,可以使用关键字unique实现字段的唯一性约束,从而保证实体的完整性。
unique意味着任何两条数据的同一个字段不能有相同值。
一个表中可以有多个unique约束

#在创建表时添加唯一性约束

create table person(
	id int not null auto_increment primary key comment '主键id',
	name varchar(30) comment '姓名',
	id_number varchar(18) unique comment '身份证号'
);

外键约束定义了表之间的一致性关系,用于强制参照完整性,
外键约束定义了对同一个表或其它表的列的引用,这些列具有primary key或unique约束

#主表-学生表

create table stu(
	stu_no int not null primary key comment '学号',
	stu_name varchar(30) comment '姓名'
);

#从表-成绩表

create table sc(
	id int not null auto_increment primary key comment '主键id',
	stu_no int not null comment '学号',
	course varchar(30) comment '课程',
	grade int comment '成绩',
	foreign key(stu_no) references stu(stu_no)
);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值