7.26 数据库

1.数据库的概念
数据库就是用来存储和管理数据的仓库。数据库存储数据的优点:
可存储大量数据;
方便检索;
保持数据的一致性、完整性;
安全,可共享;
通过组合分析,可产生新数据;
2.什么是数据库?
数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。
3.什么是数据库管理系统?
数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。
4.数据库中以表为组织单位存储数据。
表类似我们的Java类,每个字段都有对应的数据类型。
那么用我们熟悉的java程序来与关系型数据对比,就会发现以下对应关系。
类———-表
类中属性———-表中字段
对象———-记录

5.理解数据库
当我们安装了数据库服务器后,就可以在数据库服务器中创建数据库,每个数据库中还可以包含多张表。
数据库表就是一个多行多列的表格。在创建表时,需要指定表的列数,以及列名称,列类型等信息。而不用指定表格的行数,行数是没有上限的。向表格添加数据是以行为单位的。根据表字段所规定的数据类型,我们可以向其中填入一条条的数据,而表中的每条数据类似类的实例对象。表中的一行一行的信息我们称之为记录。
6.登陆MySQL数据库
输入用户名 密码即可
7.表格创建
写之间一定要确定编码格式,一开始没有选择出现问题
问题描述:向数据库插入数据时出现:[Err] 1366 - Incorrect string value: ‘\xE5\x8D\x8E\xE5\xB8\x88’for column ‘uaddr’ at row 1
解决办法:将该表中的每一列的字符集都改为utf-8
8.SQL语句
结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
创建数据库、创建数据表、向数据表中添加一条条数据信息均需要使用SQL语句。
1)SQL语句可以在单行或多行书写,以分号结尾;
2)可使用空格和缩进来增强语句的可读性;
3)MySQL不区分大小写,建议使用大写

字符串类型都最好使用varchar类型 不用char类型,字段占多少空间,varchar
就占用多少,多余的不用,而char都要占用,列如该字段为5,分配char为30,全部使用,多余的也保留,而varchar只用5,多余的不占用
SQL语句分类:
1.DDL:数据定义(对数据库和表结构的,增、删、改)
创建表:create table 表名(字段名 类型 [其他],….);
CREATE TABLE stu3(
sid int PRIMARY KEY,
sname VARCHAR(100)
);
删除表:drop table 表名
DROP TABLE stu2;
修改:alter table 表名 add/modify/change/drop/rename to XXXX
2.DML:数据操作(对表记录的操作,增、删)
添加:insert into 表名(字段名…) values(值….);
INSERT INTO stu1(NAME,age,dept) VALUES(‘王gay’,19,’组长’);
删除:delete from 表名 where 字段名=值;
DELETE FROM stu1 WHERE id=6;//不能删除多个
修改:update 表名 set 字段名=新值…. where 字段名=值;

UPDATE sort SET sname=’日用品’;

UPDATE sort SET sname=’日用品’ WHERE sid=’s002’;

DCL:数据控制
***** DQL:数据查询(对表记录的查询操作)
select 字段 as 别名,.... from 表名 as 别名  
where  字段名=值  and/or  字段名=值

SELECT * FROM stu1;
SELECT * FROM stu1 WHERE age=18 and dept=’成员’;

查询:
1、条件查询
where、表达式、and/or、between and、in、is not、like
查询出包含”班长”的信息。(包含 副班长也被打出)
SELECT * FROM stu1 WHERE dept like ‘%班长%’;
查询出是三个字
SELECT * from stu1 WHERE dept LIKE “_“; – 三个下划线_

查询出不为null
SELECT * from stu1 WHERE name is not null;
SELECT * FROM stu1 WHERE NOT (name IS NULL);

2、排序查询
升序
SELECT * FROM emp ORDER BY sal ASC;
按sal排序,ASC升序,DESC降序,其中ASC是可以省略的
降序
SELECT * FROM emp ORDER BY comm DESC;
按comm降序排序查询

使用多列作为排序条件
SELECT * FROM emp ORDER BY sal ASC, comm DESC;
使用sal升序排序,如果sal相等,再按照comm降序排序
3、分组查询
group by、having
4、分页查询
limit
主键:非空、唯一
外键

数据库操作
创建数据库
格式:
* create database 数据库名;
* create database 数据库名 character set 字符集;
例如:
创建数据库 数据库中数据的编码采用的是安装数据库时指定的默认编码 utf8
CREATE DATABASE day21_1;
创建数据库 并指定数据库中数据的编码
CREATE DATABASE day21_2 CHARACTER SET utf8;
查看数据库
查看数据库MySQL服务器中的所有的数据库:
show databases;
查看某个数据库的定义的信息:
show create database 数据库名;
例如:
show create database day21_1;

删除数据库
drop database 数据库名称;
例如:
drop database day21_2;

其他的数据库操作命令
切换数据库:
use 数据库名;
例如:
use day21_1;

查看正在使用的数据库:
select database();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值