数据库常用代码

用户创建和授权

创建用户:create user ‘username’@’host’ identified by ‘password’

授权:grant all privileges on *.* to ‘username’@’host’ identified by ‘password’

刷新权限:flush privileges

撤销授权:revoke all on *.* from ‘username’@’host’

删除与用户:drop user ‘username’@’host’

数据库创建

创建一个新库:create database day;

删除一个库:drop database day;

创建表和删除

创建表:create table ‘表名’(  )

删除表:drop table ‘表名’

增删改查操作

添加数据:insert into 表名 (列名1,列名2) values (值1,值2)

删除数据:delete from 表名 where 列名 = 值;

更新数据:update 表名 set 列名1=值,列名2=值 where 列名 = 值;

查询数据:select 列限定 from 表限定 where 行限定

更改表名、字段、添加删除字段

更改表名:alter table 原表明 rename 新表名

更改字段:alter table 表名 change 字段名 新字段名 类型

添加字段:alter table 表名 add 字段名 数据类型 字段位置(默认最后)

删除字段:alter table 表名 drop 列名

设置主键

create table day(

id int primary key,

)

create table day(

id int ,

primary key(id)

)

创建完后添加主键

 alter table person3 add primary key(id)

外键

  1. 创建表时添加外键约束

create table teacher(

    id int ,

    name varchar(20),

    primary key (id)

);

create table student (

    id int ,

    name varchar(20),

    teacher_id int ,

    primary key (id),

    foreign key (teacher_id) references teacher(id)

);

  1. 创建完表之后,添加外键约束

alter table 表名 add foreign key (外键列列名) references 指向的表名 (主键列列名);

Between...and

语法 :

select 列限定 from 表限定 where 列名 between 值1 and 值1;

In

语法 :

select 列限定 from 表限定 where 列名 in(值1,值2....);

模糊查询like

其中 % 匹配任意个数的任意字符

 _ 匹配单个任意字符

语法 :

select 列限定 from 表限定 where 列名 like  '值' ;

Order by 排序

语法 :

select 列限定 from 表限定 order by 列名 asc/desc;

Asc : 升序

Desc : 降序

Limit

语法 :

select 列限定 from 表限定 limit 条数;

select 列限定 from 表限定 limit 开始值(不包含) ,条数;

单表查询(组函数)

MYSQL中有一类特殊的函数,用于统计,或者分组统计,

分组关键字使用 group by

常用组函数有 :

count(*) : 总条数

max(字段名) : 最大值

min(字段名) : 最小值

avg(字段名) : 平均值

sum(字段名) : 总和

语法 :

select  count(*),max(字段名),min(字段名)... from 表名 group by 字段名;

子查询

场景一 : select后面

语法 :

select 字段名,(查询语句) from 表名;

当位于SELECT后面时,要注意

1.一定要在两个表之间找好对应关系(teacher.id必须是主键或者必须保证teacher.id在teacher表中是唯一的)

2.子查询中只能有一个字段(子查询的结果必须是一行一列)

使用子查询的时候,建议大家养成使用别名的好习惯,这样可以让我们的查询语句更加清晰。别名可以用来命令新字段,也可以用来命名新表.

场景二 : from后面

当位于FROM后面时,要注意

1.我们可以把子查询当成一张表

2.必须要有别名,因为子查询优先被执行,子查询的别名,可以让别的查询当做表或者列去操作

场景三 : where后面

当位于WHERE后面时,要注意

  1. 多条数据要用in而不要用=,如果确定子查询的结果为一行一列的话,就可以用 = 等于
  2. 如果返回结果为多行一列的话 要用 in , 一列是必须的,必须是一列

3.子查询中的SELECT后面只能有一个字段(多个字段的话会报错)

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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;
SMBMS数据库代码是指《超市管理系统》的数据库代码,该代码主要用于实现超市的管理功能,包括商品信息管理、供应商管理、用户管理、订单管理和库存管理等。 首先,我们需要创建相应的数据库和数据表。数据库中包含商品信息表、供应商表、用户表和订单表等,每个表都有对应的字段,用于存储相关的信息。 其次,我们需要编写相应的代码来实现具体的功能。比如,对于商品信息管理,我们可以编写代码来实现商品的增加、删除、修改和查询等功能。对于供应商管理,我们可以编写代码来实现供应商的添加、删除、修改和查询等功能。对于用户管理,我们可以编写代码来实现用户的注册、登录、修改密码和权限管理等功能。对于订单管理,我们可以编写代码来实现订单的添加、删除、修改和查询等功能。对于库存管理,我们可以编写代码来实现库存的更新、查询和报警等功能。 最后,我们需要将代码数据库连接起来,即通过数据库操作的相关函数来实现数据的读取和更新等。同时,我们还需要考虑数据的安全性和完整性,比如通过加密算法对用户密码进行加密存储,以保护用户信息的安全。 综上所述,SMBMS数据库代码是超市管理系统的数据库代码,通过编写相应的代码和实现数据库的连接,可以实现超市的管理功能,包括商品信息管理、供应商管理、用户管理、订单管理和库存管理等。这些功能可以帮助超市提高管理效率、提升服务质量,从而更好地满足客户的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值