数据库的安装和基本操作
数据库
数据库介绍和安装
数据存储从人工 文件管理 数据库管理,三个阶段,人工数据量混乱负责,文件会造成数据冗余,总体而言,数据库数据组织结构化,更加方便和高效,比较专业。
每个需要数据处理的行业都或多或少的需要使用数据库,因此学习sql是绕不开的。
我们使用应用程序来操作数据库管理系统,数据库管理系统进而操作数据库,我们的使用数据库就是在使用数据库管理系统。
数据库分类
关系型数据库和非关系型数据库
关系型数据库:采用关系模型来组织数据结构的数据库,如Oracle。sqlserver,mysql
非关系型数据库:不采用关系模型来组织数据结构的数据库,如MongoDB,Redis
mysql数据库安装
Ubuntu-Linux:
终端执行:sudo apt install mysql-server
配置文件:/etc/mysql
数据库存储目录:/var/lib/mysql
Windwos安装
下载mysql安装包
运行安装文件。
启动和连接mysql
启动:systemctl start mysql
关闭:systemctl stop mysql
重启:systemctl restart mysql
连接:mysql -h 主机地址 -u 用户名 -p 密码(连接本机可省略-h)
mysql简介:
一个数据库管理软件可以管理多个数据库,一个数据库可以容纳多个数据表。一个表中可以有多行数据,每列数据称作字段。每一行称作记录。
SQL语言
什么是sql
结构化查询语言,一个特殊的编程语言,专门用来操作数据库的。
sql语言独立于数据库本身,大多数的数据库管理系统都使用sql语言。不同的管理系统可能有细微差异。每条命令以;结尾。sql命令 关键字 不区分大小写。
数据库管理
1. 查看已有库
show databases;
2. 创建库
create database 库名 [character set utf8]
3. 切换库
use 库名;
4. 查看当前库
select database();
5. 删除库
drop database 库名;
数据表管理
基本思考过程:
- 存储内容
- 字段构成
- 字段数据类型
1. 数据类型
整数类型:INT,SMALLINT,TINYINT,MEDIUMINT,BIGINT
浮点类型:FLOAT,DOUBLE,DECIMAL
比特值类型:BIT
字符串类型
普通字符串:CHAR VARCHAR
存储文本:TEXT
存储二进制数据:BLOB
存储选项型数据:ENUM SET
2.创建表
create table 表名(
字段名 数据类型 约束,
字段名 数据类型 约束
);
3. 字段约束
数字为无符号:UNSIGNED unsigned
不为NULl:NOT NULL not null
添加默认值:DEFAULT default
增加字段说明:COMMENT comment
自增:AUTO_INCREMENT auto_increment
主键:PRIMARY KEY primary key
创建两个表
create table class(
id int primary key auto_increment,
name char(50) not null,
age tinyint unsigned not null,
sex enum('m', 'w', 'o'),
score float default 0
);
create table hobby(
id int primary key auto_increment,
name varchar(50) not null,
hobby set('sing','dance','draw'),
level char(50) comment"A B or C",
price decimal(7,2),
remark text comment"说明信息"
);
注解:
decimal(m,n) m个数字,小数点后保留n位。
set 选择型set('A','B')
comment 信息提示comment"xxx"
4. 数据表操作
查看数据表: show tables;
查看表结构: desc 表名
查看数据表创建信息:show create table 表名
删除表:drop table 表名
5. 表数据基本操作
插入insert
insert into 表名 value(值1,值2,..)(值1,值2,..) 一个括号是一个记录。
insert into 表名(字段1,字段2...) values(值1,值2...)
练习:
1. 创建一个数据库books使用utf8格式
2. 创建数据表book字段
id bname author price press comment
3. 插入数据 >= 8条
create table book(
id int primary key auto_increment,
bname varchar(255) not null,
author varchar(255) not null,
price decimal(6, 2),
comment text comment "书籍介绍"
) default charset = utf8;
insert into
book(bname, author, price, comment)
values
('三体1', '刘慈欣', 56.5, '三体世界'),
('三体2', '刘慈欣', 56.5, '三体世界'),
('三体3', '刘慈欣', 56.5, '三体世界'),
('世界迷航', '大卫', 80, '在世界寻找路径'),
('遮天', 'AA', 99, '遮天世界');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!