@MySQl数据库的使用
MySQL的建表以及显式地修改数据
以一个建立一个水果信息表为例,该表仅包含两列:fname以及number;分别代表水果的种类名称以及水果的剩余数目。为此,为该表定义两列,其数据类型分别为字符串类型以及整形。所对应要使用的mysql的数据类型分别为:varchar以及int。
在这里,要提一下,varchar以及char的区别,varchar的定义为可变长度的字符串,而char的定义为固定长度的字符串;如果要使用char,可能在赋值、改变的时候会出现字符串长度不匹配的结果,从而导致修改失败。
在该界面,可以修改列的名称、数据类型、长度、默认值、是否为主链(一个表仅有一个主链)、是否允许非空值等。
关于如何赋予初值或修改表数据,可以在左侧右击所要修改的表在弹框中单击打开表,在如下图所示的表格中进行所要的修改。
这里是引用
简单的SQL语句执行操作
常用的SQL查询语句中,包括有:select语句、insert语句、update语句、delete语句等,分别对应对sql数据的查询、添加、修改、删除操作。
创建表:create table 表名(字段名 字段类型(字段长度),···);
删除表:drop table 表名;
插入数据:insert into 表名(字段名1,…)value(值1,…);
删除数据:delete from 表名 where 字段名=值;
按条件修改数据:update 表名 set 字段名=新值,字段名=新值 where 字段=值;
查询部分数据:select 字段名1,字段名2… from 表名;
多表查询:select 字段名 from 表1,表2 where 条件;
MySQL函数的创建和使用
MySQL可以创建函数,将一些复杂操作或一些带有逻辑性的操作封装在一起,以类似编写代码中函数的作用相同,可以传递参数,也可以接受函数的返回值,用此来进行操作的简化。
函数的创建:
create function 函数名([参数列表]) returns 数据类型
begin
sql语句;
return 值;
end;
参数列表的格式是: 变量名 数据类型
以水果的售卖为例,定义一个增加水果数目的函数,传递给该函数的参数有两个,一个为水果的名称,另一个为所要增加的数目。
DELIMITER $$
USE `fruitshop`$$
DROP FUNCTION IF EXISTS `addNumber`$$
CREATE DEFINER=`001`@`localhost` FUNCTION `addNumber`(fruitname VARCHAR(100) CHARSET utf8, changenumber INT) RETURNS INT(11)
BEGIN
UPDATE fruitinfo SET number = number + changenumber WHERE fname = fruitname;
RETURN (SELECT number FROM fruitinfo WHERE fname = fruitname);
END$$
DELIMITER ;
其中,delimter其实就是告诉MySQL解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。
在上述代码中,第一个delimter$$是以$$作为一段命令的结尾,因为在函数中将会有多条语句,为了不打乱函数的整体结构不将其分开,使用一个不会使用的符号作为段落的结尾,在函数定义结束后,将段落的结束标志重新设置为";"。
在代码中使用定义的该函数:
addNumber("苹果", 15);
addNumber("香蕉", 10);
addNumber("苹果", 520);