数据库——基础(数据库操作,表格操作)

本文详细介绍了LAMP环境的搭建及WAMP环境的使用,深入探讨了数据库的基本概念,包括表结构、字段(列)、主键、自增长列等,并通过实例展示了如何进行数据库的创建、删除、查询、更新和删除操作。

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

 

笔记:

LAMP:Linx(操作系统)
A(阿帕奇)——网页的应用程序
M(Mysql):体积小,应用简单
P(PHP)

 

第一步:搭建网页环境——A\M\P

WAMP:用WAMP搭建环境

DW:更好的显示

数据库的基本操作:

数据库——表结构——字段(列)

每一行数据成为一条数据(记录)

特点:关系型数据库,有严格的规范

1、必须有主键:能够唯一标识一条数据的字段

2

T-SQL:通用的数据库操作语句

自增长列code(主键列) ;连接键表 最后一个字段不加 ,#注释

创建表:
create table Family
(
Code varchar(50) primary key,
Name varchar(50) not null,
Sex bit

);
create table Nation
(
Code varchar(50) primary key,
Name varchar(50)
);

create table Info
(
Code int auto_increment primary key,
Name varchar(50),
Sex bit,
Birthday date,
Height float,
Nation varchar(50) references Nation(Code) //一般不写
)
primary key:主键
not null:非空
auto_increment:自增长列,整形,自动增长不用添加
references:引用 外键关系

删除表
drop table Family

创建数据库:create database mydb
删除数据库:drop database mydb

CRUD:增删改查
C:create 增加数据(必须要写,可以为空)
insert into nation values('n001','汉族') -普通
insert into Name values('','')自增长列不用填,空着,不用填空字符
insert into nation (Code ,Name) values('n002','huizu')-往表中添加特定列的数据

R:read 查询数据
一、查询所有数据
select * from info 查所有
select Name from info 查特定列
二、根据条件查询
select * from info where Code='p001'
select * from info where Code='p001' and nation='n003' 多条件 并关系 查询
select * from info where name='胡军' or nation='n001' 多条件 或关系 查询
select * from car where price>=50 and price<=60 范围查询
select * from car where price between 50 and 60 范围查询常用
三、模糊查询
select * from car where name like '%奥迪%' %通配符 代表任意多个字符
select * from car where name like '_马%' _通配符 代表任意一个字符
四、排序
select * from car order by price (asc) 按照价格升序排列
select * from car order by price desc 按照价格降序排列
select * from car order by price desc,oil desc 按照两列进行排序-先按照价格降序排列,再按照油耗降序排列
五、统计函数(聚合函数)
select count(code) from car 查询表中有多少条数据
select max(price) from car 取价格最大值
select min(price) from car 取价格最小值
select sum(price) from car 取价格总和
select avg(price) from car 取价格平均值
六、分组查询
select brand from car group by brand having count(*) >2 查询所有系列中数量大于2的
七、分页查询
select * from car limit 5,5 跳过几条数据取几条数据
八、去重查询
select distinct brand from car 可以去哪一列的重复

 


U:update 修改数据
update nation set Name='huizu'-全部修改
update nation set Name='huizu' where Code='n002'-修改某一条数据
update nation set Name='huizu' where Code='n003' and Code='n004'-修改某一条数据

D:delete 删除数据
delete from nation-删除整个表中的数据
delete from nation where Code='n001'-删除一条数据

 

1_创建admins表以及插入该表测试数据的脚本 DROP TABLE IF EXISTS `admins`; CREATE TABLE `admins` ( `管理员帐号` char(30) NOT NULL DEFAULT '', `用户名` char(30) NOT NULL DEFAULT '', `密码` char(8) DEFAULT NULL, PRIMARY KEY (`管理员帐号`,`用户名`), UNIQUE KEY `管理员帐号` (`管理员帐号`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `admins` VALUES ('admin1', '赵毅', '12345678'); INSERT INTO `admins` VALUES ('admin2', '陈丹', '123'); 2_创建inventory表以及插入该表测试数据的脚本 DROP TABLE IF EXISTS `inventory`; CREATE TABLE `inventory` ( `商品编号` int(10) unsigned NOT NULL DEFAULT '0', `商品名称` char(30) NOT NULL DEFAULT '', `当前库存量` int(10) unsigned NOT NULL, `最大库存量` int(10) unsigned NOT NULL, `最小库存量` int(10) unsigned NOT NULL, PRIMARY KEY (`商品编号`,`商品名称`), UNIQUE KEY `商品编号` (`商品编号`), UNIQUE KEY `商品名称` (`商品名称`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `inventory` VALUES ('15001', '计算机', '150', '500', '100'); INSERT INTO `inventory` VALUES ('15002', '打印机', '9', '30', '5'); INSERT INTO `inventory` VALUES ('15003', '扫描仪', '11', '20', '3'); INSERT INTO `inventory` VALUES ('15004', '路由器', '9', '20', '0'); INSERT INTO `inventory` VALUES ('15005', '交换机', '15', '30', '5'); 3_创建checkin表以及插入该表测试数据的脚本 DROP TABLE IF EXISTS `checkin`; CREATE TABLE `checkin` ( `序号` int(10) unsigned NOT NULL AUTO_INCREMENT, `耗材编号` int(10) unsigned DEFAULT NULL, `入库耗材` char(30) DEFAULT NULL, `数量` int(10) unsigned NOT NULL, `价格` float NOT NULL, `入库日期` date DEFAULT NULL, `入库时间` time DEFAULT NULL, PRIMARY KEY (`序号`), KEY `耗材编号` (`耗材编号`,`入库耗材`), CONSTRAINT `checkin_ibfk_1` FOREIGN KEY (`耗材编号`, `入库耗材`) REFERENCES `inventory` (`商品编号`, `商品名称`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; INSERT INTO `checkin` VALUES ('1', '15002', '打印机', '6', '2000', '2015-08-14', '15:59:12'); INSERT INTO `checkin` VALUES ('2', '15004', '路由器', '2', '3000', '2015-08-16', '11:33:55'); INSERT INTO `checkin` VALUES ('3', '15001', '计算机', '30', '2500', '2015-11-13', '15:30:50'); INSERT INTO `checkin` VALUES ('4', '15004', '路由器', '4', '2500', '2015-11-13', '08:33:12'); 4_创建checkout表以及插入该表测试数据的脚本 DROP TABLE IF EXISTS `checkout`; CREATE TABLE `checkout` ( `序号` int(10) unsigned NOT NULL AUTO_INCREMENT, `耗材编号` int(10) unsigned DEFAULT NULL, `出库耗材` char(30) DEFAULT NULL, `数量` int(10) unsigned NOT NULL, `库存管理员` char(30) DEFAULT NULL, `出库负责人` char(30) DEFAULT NULL, `出库日期` date DEFAULT NULL, `出库时间` time DEFAULT NULL, PRIMARY KEY (`序号`), KEY `耗材编号` (`耗材编号`,`出库耗材`), KEY `库存管理员` (`库存管理员`,`出库负责人`), CONSTRAINT `checkout_ibfk_1` FOREIGN KEY (`耗材编号`, `出库耗材`) REFERENCES `inventory` (`商品编号`, `商品名称`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `checkout_ibfk_2` FOREIGN KEY (`库存管理员`, `出库负责人`) REFERENCES `admins` (`管理员帐号`, `用户名`) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值