一.数据库基础回顾:
1.1 什么是数据库: 本质是一个文件系统,用户可以通过SQL对数据库中的数据进行增删改察操作.
1.2 常见数据库: MYSQL:web及中小企业常用,是开源免费,小型的数据库,通常和PHP语言结合使用,已被Oracle收购.
Oracle:收费的,中大型数据库,Oracle公司出品.
DB2:IBM公司出品,中大型数据库,收费,常用于银行系统.
SQLServer:微软公司的中大型数据库,收费,常用微软自家语言,比如c#,.net.
syBase:淡出历史舞台,但是其PowerDesigner功能强大,Java中有使用.
SQLite:嵌入式中使用的数据库,用于小型设备.
1.3 SQL分类: 数据定义语言:DDL(Data Definition Language):用来定义数据库对象:database,table,column等.关键字create,alter,drop等.
数据操作语言:DML(Data Manipulation Language):用来对数据库中的数据进行更新.如:insert,delete,updata等.
数据查询语言:DQL(Data Query Language):用来查询数据库表的记录.如select,from,where等.
数据控制语言:DCL(Data Control Language):用来定义数据库的安全及访问级别和创建用户.如:grant等.
1.4 数据库操作:
1.4.1 创建: create database 库名;
create database 库名 character set XXX(这里面是编码格式);
1.4.2 删除: drop database 库名;
1.4.3 使用: use 库;
1.4.4 查看当前正常操作的库: select database();
1.5 数据表的操作:
1.5.1 创建: create table 表名(字段名 类型(长度)[约束],字段名 类型(长度)[约束]);
1.5.2 查看: show tables;
查看表的结构: desc 表名;
1.5.3 删除表: drop table 表名;
1.5.4 修改表:
4.1 添加一列: alter table 表名 add 字段名 类型(长度) [约束];
4.2 修改列的类型(长度,约束): alter table 表名 modify 要修改的字段名 类型(长度) [约束] ;
4.3 修改列的列名: alter table 表名 change 旧列名 新列名 类型(长度) [约束];
4.4 删除表的列: alter table 表名 drop 列名;
4.5 修改表名: rename table 表名 to 新表名;
4.6 修改表的字符集: alter table 表名 character set 编码;
1.6 对数据库中表记录进行插入
1.6.1 插入记录: insert into 表名(列名1,列名2,列名3...) values(值1,值2,值3...);
比如: insert into tal_user(uid,uname,upasd) values(null,'zhangsan','123');
或者: insert into 表名 values(值1,值2,值3......);(常用)
插入中文乱码问题: 方式1(不推荐):直接修改数据库安装目录里面的my.ini文件的第57行:default-character-set = utf-8;
方式2: set names gbk;
1.7 对数据库中表记录进行修改
1.7.1 不带条件的: update 表名 set 字段名=值,字段名=值,字段名=值......;
它会将改列的所有记录都更改.
1.7.2 带条件的: update 表名 set字段名=值, 字段名=值, 字段名=值…… where 条件;
1.8 对数据库中表记录进行删除
1.8.1 带条件的: delete from 表名 where 条件(删除后,uid不会重置);
1.8.2 不带条件的: delete from 表名;
1.8.3 说说delete与truncate的区别?
delete删除的时候是一条一条的删除记录,它配合事务,可以将删除的数据找回.
truncate删除,它是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回.
(delete删除,uid不会重置!而使用truncate操作,uid会重置,因为因为它删除了表结构,然后再创建一张一模一样的表,所以再次插入数据的数据的时候从1开始).
1.9 对数据库中表记录进行查询
查询是数据库中最为关键的功能,也是最复杂的一个功能,因此,会在下一章节中详细描述.