本文共 3544 字,大约阅读时间需要 11 分钟。
数据库是现代应用开发中不可或缺的核心技术。以下是学习数据库的主要原因:
数据持久化
数据库可以将数据持久化存储,避免了在程序终止时丢失数据。便捷数据检索
数据库通过索引和查询语言(如SQL),可以快速检索特定数据,满足复杂查询需求。存储海量数据
数据库能够高效管理和存储大量结构化数据,支持企业的快速扩展。数据共享与安全
数据库提供了数据共享的便利性,同时支持权限控制,确保数据安全。数据分析与可视化
数据库支持复杂查询和分析,能够通过数据处理生成新的信息和见解。MySQL最初由瑞典公司开发,2008年被Sun Microsystems收购,2009年被Oracle收购。
特点:MySQL基于C/S架构,需要安装服务端和客户端。
启动服务:
net start 服务名。停止服务:
net stop 服务名。命令行登录:
mysql -h 主机名 -P 端口号 -u 用户名 -p 密码
-h 可以省略。-P 可以省略。图形化客户端:
使用工具如SQLyog,直接输入用户名和密码即可登录。show databases:列出当前连接下所有数据库。show tables:列出当前数据库中的所有表。show columns from 表名:列出表中所有字段信息。use 库名:切换到指定数据库。select ... from 表名;
# 单行注释-- 单行注释 或 / * 多行注释 * /select 查询列表 from 表名;
起别名:
select 字段名 as "别名" from 表名;
加法运算:
select 字段名 + 常量 from 表名;
null 与任何值相加结果为 null。去重:
select distinct 字段名 from 表名;
补充函数:
select version(); -- 获取数据库版本 select concat("字符串1", "字符串2"); -- 拼接字符串 select length("字符串"); -- 获取字符串长度select 查询列表 from 表名 where 条件表达式;
>, <, >=, <=, >, <and, or, notlike 和 between、in 等。-- 判断员工薪资是否大于10万select salary from employees where salary > 1000000;-- 判断员工工作地点在北京或上海select department_id from employees where department_id in (1, 2) or department_id in (7, 8);-- 判断员工姓名中包含“李”或“张”select name from employees where name like "%李%" or name like "%张%";
select 查询列表 from 表名 where 条件表达式 order by 排序列表;
asc)或降序(desc)。-- 按部门编号排序select department_id from employees order by department_id asc;-- 按员工姓名降序排序select name from employees order by name desc;
insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...);
-- 插入一条新记录insert into employees (first_name, last_name) values ('张三', '李四');-- 插入多个记录insert into employees (first_name, last_name) values ('王五', '赵六'), ('李七', '赵八'); update 表名 set 字段名 = 值 where 条件表达式;
-- 更新员工姓名update employees set first_name = '张三' where employee_id = 1;-- 更新部门编号update departments set department_name = '技术部' where department_id = 5;
delete from 表名 where 条件表达式;
-- 删除一条员工记录delete from employees where employee_id = 1;-- 删除部门delete from departments where department_id = 10;
create database 库名;
drop database 库名;
create table 表名 ( 字段名1 字段类型1, 字段名2 字段类型2, ...);
drop table 表名;
int, float, double, binary, varbinary 等。varchar, nvarchar, text。date, time, datetime, timestamp。boolean, enum。primary key。foreign key。unique。default。check。-- 开始事务begin;-- 更新订单数量update orders set quantity = 5 where order_id = 1;-- 失败 rollbackrollback;-- 成功 commitcommit;
-- 只读事务,不会修改数据read uncommitted;
autocommit = 0 进行显式事务。转载地址:http://ubdbz.baihongyu.com/