MySQL数据库的简单操作

MySQL数据库的简单操作

一、 对数据库的操作

  1. 创建一个库
    create database 库名
    create database 库名 character set 编码
    在这里插入图片描述
    创建带有编码的
    在这里插入图片描述
    查看编码:
    在这里插入图片描述
    2.删除一个库
    drop database 库名
    在这里插入图片描述
    3.使用库
    use 库名
    在这里插入图片描述
    4.查看当前正在操作的库
    在这里插入图片描述
  • 约束简介
    约束(Constraint)是Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件(有关数据完整性的介绍请参见第9 章)。在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和缺省约束(Default Constraint)。

  • 数据库中的5大约束

1.—-主键约束(Primay Key Coustraint) 唯一性,非空性
2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个
3.—-检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)
4.—-默认约束 (Default Counstraint) 该数据的默认值
5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列

  • 五大约束的语法示例

1.—-添加主键约束(将stuNo作为主键)
alter table stuInfo
add constraint PK_stuNo primary key (stuNo)
2.—-添加唯一约束(身份证号唯一,因为每个人的都不一样)
alter table stuInfo
add constraint UQ_stuID unique(stuID)
3.—-添加默认约束(如果地址不填 默认为“地址不详”)
alter table stuInfo
add constraint DF_stuAddress default (‘地址不详’) for stuAddress
4.—-添加检查约束 (对年龄加以限定 15-40岁之间)
alter table stuInfo
add constraint CK_stuAge check (stuAge between 15 and 40)
alter table stuInfo
add constraint CK_stuSex check (stuSex=’男’ or stuSex=’女′)
5.—-添加外键约束 (主表stuInfo和从表stuMarks建立关系,关联字段stuNo)
alter table stuInfo
add constraint FK_stuNo foreign key(stuNo)references stuinfo(stuNo)

二、对数据库表的操作
1.创建一张表
create table 表名(
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],
字段名 类型(长度) [约束]
);
在这里插入图片描述
2.查看数据库表
创建完成后,我们可以查看数据库表
show tables;
在这里插入图片描述
查看表的结构
desc 表名
在这里插入图片描述
3.删除一张表
drop table 表名
在这里插入图片描述
4.修改表
4.1 添加一列
alter table 表名 add 字段名 类型(长度) [约束]
在这里插入图片描述
4.2 修改列的类型(长度、约束)
alter table 表名 modify 要修改的字段名 类型(长度) [约束]
在这里插入图片描述
4.3 修改列的列名
alter table 表名 change 旧列名 新列名 类型(长度) [约束]
在这里插入图片描述
4.4 删除表的列
alter table 表名 drop 列名
在这里插入图片描述
4.5 修改表名
rename table 表名 to 新表名
在这里插入图片描述
4.6 修改表的字符集
alter table 表名 character set 编码
在这里插入图片描述
查看当前表的编码
在这里插入图片描述
三、对数据库表记录进行操作(修改)

1.插入记录
insert into 表名(列名1,列名2,列名3……) values(值1,值2,值3……)
在这里插入图片描述
insert into 表名 values(值1,值2,值3……)
在这里插入图片描述
1.1 插入数据中文乱码问题解决办法
方式一:【不建议!】
直接修改数据库安装目录里面的my.ini文件的第57行
在这里插入图片描述
方式二:
set names gbk;
在这里插入图片描述
2.修改表记录
2.1 不带条件的
update 表名 set 字段名=值, 字段名=值, 字段名=值……
在这里插入图片描述
它会将该列的所有记录都更改

2.2 带条件的
update 表名 set字段名=值, 字段名=值, 字段名=值…… where 条件
在这里插入图片描述
3.删除表记录
3.1 带条件的
delete from 表名 where 条件
在这里插入图片描述
注意,删除后,uid不会重置!

3.2.不带条件的
先准备数据
insert into tbl_user values(null,’老王’,’666’);
(即清空表的内容)
删除操作
delete from 表名;
在这里插入图片描述
3.3 面试题
说说delete与truncate的区别?
delete删除的时候是一条一条的删除记录,它配合事务,可以将删除的数据找回。
truncate删除,它是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回。

Delete操作演示:
在这里插入图片描述
Truncate操作演示
在这里插入图片描述
注意:delete删除,uid不会重置!而使用truncate操作,uid会重置

4.查询操作
语法:
select [distinct] *| 列名,列名 from 表名 [where条件]
4.1 简单查询
1.查询所有商品
select * from product;
在这里插入图片描述
2. 查询商品名和商品价格
select pname,price from product;
在这里插入图片描述
3.查询所有商品信息使用表别名
select * from product as p;
在这里插入图片描述
4.查询商品名,使用列别名
select pname as p from product
在这里插入图片描述
5.去掉重复值(按照价格)
select distinct(price) from product;

先准备数据:
insert into product values (null,‘李士雪’,38,null);
在这里插入图片描述
6.将所有的商品的价格+10进行显示
select pname,price+10 from product;
在这里插入图片描述
4.2 条件查询
1.查询商品名称为"左慈"的商品信息
在这里插入图片描述
2.查询价格>60元的所有商品信息
在这里插入图片描述
3.查询商品名称含有"士"字的商品信息
在这里插入图片描述
4.查询商品id在(3,6,9)范围内的所有商品信息
在这里插入图片描述
5.查询商品名称含有"士"字并且id为6的商品信息
在这里插入图片描述
6.查询id为2或者6的商品信息
在这里插入图片描述
4.3 排序
1.查询所有的商品,按价格进行排序(升序、降序)
在这里插入图片描述
在这里插入图片描述
2.查询名称有"士"的商品信息并且按照价格降序排序
在这里插入图片描述
4.4 聚合函数
1.获得所有商品的价格的总和
在这里插入图片描述
2.获得所有商品的平均价格
在这里插入图片描述
3.获得所有商品的个数
在这里插入图片描述
4.5 分组操作
1.添加分类id (alter table product add cid varchar(32)?
2.初始化数据
update product set cid=‘1’;
update product set cid=‘2’ where pid in (5,6,7);

1.根据cid字段分组,分组后统计商品的个数。
在这里插入图片描述
2.根据cid分组,分组统计每组商品的平均价格,并且平均价格大于20000元。
在这里插入图片描述
4.6 查询总结
select 一般在的后面的内容都是要查询的字段
from 要查询到表
where
group by
having 分组后带有条件只能使用having
order by 它必须放到最后面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值