1,数据库入门
1.1、传统数据处理方式
数据处理并不是计算机特有概念,在计算机引入生活或者工作的时候,我们的数据都是通过纸质单据或者word、Excel等工具d辅助完成。
1.2、传统数据处理弊端
最初的数据以文件形式组织,处理数据时候,更多的是涉及文件读写,带来了数据处理不便、共享困难。
1.3、计算机数据存储机制——数据库
数据库是计算机存储数据的介质,可以把数据按一定的方式组织起来,不仅仅可以存储数据本身,而且可以表示数据之间的关系。
1.4、数据库处理优势
能够快速方便的管理与维护数据的方法与技术,很大程度上方便了数据的持久存储和数据共享。
2,SQL语言基础
2.1、库(数据库最大存储单元,每个库是相互独立的个体)
2.2、表(表是库中的子单元,一个库中可以存储若干张表)
2.3、字段(表中的属性)
2.4、主键(表不可重复的属性)
2.5、数据类型(每个字段需要存储的类型)
3,DDL/DML/DRL/TCL
3.1、DDL
数据定义语言(DataDefinition Language)
例如:CREATE、DROP、ALTER等语句
3.2、DML
数据操作语言(DataManipulation Language)
例如:INSERT(插入 )、 UPDATE(修改 )、 DELETE(删除)语句
3.3、DRL
数据查询语言(DataRetrieval Language),
例如:SELECT语句 。( 一般不会单独归于一类,因为只有一个语句 )
3.4、TCL
事务控制语句(TransactionControl Language)
例如:COMMIT、ROLLBACK 、 GRANT、REVOKE 等语句
4,SQl基本语句实例
4.1、DDL
显示所有的库:
show databases;
![]()
创建数据库:create database <库名>;
create database zhujing;
![]()
删除指定的数据库:drop database <库名>;
drop database zhujing;
![]()
操作/使用指定的数据库:use <库名>;
显示所有的表:show tables;use test;
show tables;
![]()
创建表:create table 表名(<列名1><数据类型>[<列选项>],
<列名2> <数据类型>[<列选项>],
......
);
mysql> create table tb( -> id int primary key auto_increment, -> gender varchar(10) not null, -> age int not null, -> job varchar(20), -> createdate date not null);
查看表结构:desc <表名>;
desc tb;
![]()
修改表名: ALTER TABLE < 表名 > RENAME TO < 新表名 >;添加字段: ALTER TABLE < 表名 > ADD < 列名 >< 字段属性 >;alter table tb rename to tbtb;
修改字段: ALTER TABLE < 表名 > CHANGE < 旧列名 >< 新列名 >< 字段属性 >;alter table tbtb add name varchar(10) not null;
删除字段: ALTER TABLE < 表名 > DROP COLUMN < 列名 >;mysql> alter table tbtb change gender sex varchar(10) not null;
mysql> alter table tbtb drop column job;
4.2、DML
插入一条数据:
INSERT INTO <表名>< (columName,columName,columName…)> VALUES<(value1,value2,value3…)>;
删除一条数据:mysql> insert into tbtb values(1001,'man',19,'1996-01-23','云');
DELETE FROM <表名> WHERE <条件>;
mysql> delete from tbtb where id=1001;
修改一条数据:UPDATE <表名> SET <列名=新值,列名=新值,……> WHERE <条件>;
mysql> update tbtb set age=22 where id=1001;
4.3、DRL
Ø 别称显示插叙出来数据select 列名1as 别称1,列名2 as 别称2,…… from 表名
Ø 查询所有非重复数据select distinct 列名 from 表名;
Ø 条件语句:1、非空条件(where 列名 is not null)
2、是空条件(where 列名 is null)
3、范围条件
where 列名(>、<、=)值
where 列名 between 值1 and 值2
4、多条件查询(where 条件1 and/or 条件2 and/or 条件3……)
5、模糊条件查询(where 列名 like(模糊条件))
5.1 以…开始 (‘开始字符%’)
5.2 以…开始,且后面仅一个字符(‘开始字符_’)
5.3 第二个字符为指定字符(‘_指定字符’)
6、升序排序(order by 字段 asc)
降序排序(order by 字段 desc)
注:关于DRL部分的代码在下一篇播客通过一个范例详细展示。4.4、TCL
Ø 事物控制处理commit——事物提交
rollback——回滚到上一次提交的事物位置
savepoint nam——设置还原保存点,name是保存点的名字
rollback to name——回滚到还原点名字为name的位置