数据库
什么是数据库?
严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。
这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
数据库的特点:
- 实现数据共享
- 减少数据的冗余度
- 数据的独立性
- 数据实现集中控制
- 数据一致性 和可维护性,以确保数据的安全性和可靠性
- 故障恢复
MySQL
MySQL是现在流行的、开源的、免费的关系型数据库。
由瑞典MySQL AB公司开发,目前属于Oracle旗下的产品。
特点:
- 免费 , 开源数据库
- 小巧 , 功能齐全
- 使用便捷
- 可运行于Windows或Linux操作系统
- 可适用于中小型甚至大型网站应用
目前在市面上流行的数据库有:
关系型数据库:MySQL , Oracle , SQL Server , SQLite , DB2 , …
非关系型数据库:Redis , MongoDB , …
在MySQL中创建数据库
方式一:我们可以直接通过语句来创建数据库。
CREATE DATABASE 数据库名;
通过SQLyong,在询问框中填写上述代码,就可以创建一个数据库。
方式二:可以手动的创建数据库。
在SQLyong中使用快捷键Ctrl+D会弹出创建数据库的窗口,填写数据库名后点击确定即可。
也可以右键对象游览器,在下拉菜单中选择创建数据库,也会弹出如上窗口。
在数据库中创建表
方式一:使用语句来创建表和对应的字段
create table [if not exists] `表名`(
'字段名1' 列类型 [属性][索引][注释],
'字段名2' 列类型 [属性][索引][注释],
#...
'字段名n' 列类型 [属性][索引][注释]
)[表类型][表字符集][注释];
例如:
CREATE TABLE student(
`id` INT NOT NULL COMMENT'学号',
`name` VARCHAR(20) COMMENT'姓名',
`sex` VARCHAR(2) COMMENT'性别',
`address` VARCHAR(50) COMMENT'地址',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
注意:在创建表之前,要先选择数据库。
方式二:手动创建表,选择对应的数据库,点击数据库前面的 + 号,在下拉菜单中右键表,然后在选择创建表,填写表名和字段名等信息后点击保存。
对表进行增删改
方式一:在创建表之后,可以直接在表中进行数据的操作。
右键相应的表,在下拉菜单中选择打开表,就可以直接在表中进行操作。
方式二:通过语句对表进行增删改
- 增
INSERT INTO 表名(字段名1,字段名2,字段名3,字段名4) VALUES
('值1','值2','值3','值4'),
('值1','值2','值3','值4'),
('值1','值2','值3','值4'),
('值1','值2','值3','值4');
注意:
- 字段或值要用逗号隔开。
- 可以在VALUES后插入多行数据,但必须要用逗号隔开,最后用分号结束语句
- 值要与字段名的的类型对应,并且数量要一致,顺序要对应
例如:
INSERT INTO student(`id`,`name`,sex,`address`)VALUES
(1,'张三','男','西安市雁塔区XX小区'),
(2,'李梅','女','北京市海定区XX'),
(3,'李四','男','上海市XXXX')
- 删
DELETE FROM 表名 [WHERE 筛选条件];
注意:
- DELETE可以删除指定行,也可以删除表中所有数据。
- 如果不填写筛选条件,那么会删除所有列数据。
TRUNCATE 表名;
注意:
- TRUNCATE用于完全清除表的数据,但表的结构,索引,约束等不变。
- 相对于DELETE,删除的速度更快。
- 使用TRUNCATE 会 重新设置AUTO_INCREMENT计数器
- 使用TRUNCATE 不会对事务有影响
- 改
UPDATE 表名 SET 字段名=值 WHERE 筛选条件
注意:
- 字段名代表要修改的列,值代表要替换的新值。
- 如果没有筛选条件,那么就会替换该列所有的值。
例如:
UPDATE student SET `name`='赵六' WHERE id=1;