按照数据库的发展时间顺序,主要出现了以下类型数据库系统:
上面4中数据库系统中,关系型数据库使用最为广泛。面向对象数据库则是由面向对象语言催生的新型数据库,目前的一些数据库系统,如:SQL Server 2005、Oracle10g等都开始增加面向对象的特性。
SQL是操作和检索关系型数据库的标准语言,标准SQL语句可用于操作关系型数据库,划分为以下类型:
(1)常见数据库对象
对象名称 |
对应关键字 |
描述 |
表 |
table |
表是数据库存储的逻辑单元,以行和列的形式存在;列是字段,行就是一条数据记录 |
数据字典 |
就是系统表,存储数据库相关信息的表,系统表里的数据通常有数据库系统维护。系统表结构和数据,开发人员不应该手动修改,只能查询其中的数据 |
|
视图 |
view |
一个或多个数据表里的数据的逻辑显示,视图就是一张虚拟的表,并不真正存储数据 |
约束 |
constraint |
执行数据检验规则,用于保证数据完整性的规则 |
索引 |
index |
用于提高查询性能,相当于书的目录 |
函数 |
function |
用于完成一个特定的计算,具有返回值和参数 |
存储过程 |
procedure |
完成某项完整的业务处理,没有返回值,但可通过传出参数将多个值传个调用环境 |
触发器 |
trigger |
相当于一个事件的监听器,当数据库发生特定的事件后,触发器被触发,完成响应处理 |
(2)常用数据类型
列类型 |
说明 |
tinyint/smallint/mediumint int(integer)/bigint |
1字节、2字节、3字节、4字节、8字节整数,又可分有符号和无符号两种。这些整数类型的区别仅仅表现范围不同 |
float/double |
单精度、双精度浮点类型 |
decimal(dec) |
精确小数类型,相当于float和double不会产生精度丢失问题 |
date |
日期类型,不能保存时间。当Java里的Date对象保存到该类型中,时间部分丢失 |
time |
时间类型,不能保存日期。当Java的Date对象的保存在该类型中,日期部分丢失 |
datetime |
日期、时间类型 |
timestamp |
时间戳类型 |
year |
年类型,仅保存年份 |
char |
定长字符串类型 |
varchar |
可变长度字符串类型 |
binary |
定长二进制字符串类型,它以二进制形式保存字符串 |
varbinary |
可变长度的二进制字符串类型,二进制形式保存字符串 |
tingblob/blob mediumblob/longblob |
1字节、2字节、3字节、4字节的二进制大对象,可存存储超图片、音乐等二进制数据,分别可存储:255/64K/16M/4G的大小 |
tingtext/text mediumtext/longtext |
1字节、2字节、3字节、4字节的文本对象,可存储超长长度的字符串,分别可存储:255/64K/16M/4G的大小的文本 |
enum(‘val1’, ‘val2’, …) |
枚举类型,该列的值只能是enum括号中出现的值的之一 |
set(‘value1’, ‘value2’, …) |
集合类型,该列的值可以是set中的一个或多个值 |
(1)DOS命令:
一般在本机测试时:
然后系统会提示输入密码。
(2)图形化界面SQLyog
List of all MySQL commands:
(1)通过DOS命令重新配置
修改字符集编码:set character_set_client=utf8; set character_set_client=gbk;
(2)修改ini配置文件
注意:修改后需要重启mysql服务,修改才能生效。
问题截图:
解决方案:
(1)首先以管理员方式启动cmd控制台
停止mysql服务
(2)跳过mysql的权限检查,因为mysql一开始的时候没有设置用户名和密码,默认以root用户登录会自动生成随机密码,需要跳过这一步
在初始化配置中my.ini的[mysqld]字段加入:skip-grant-tables
(3)重启mysql服务,这时的mysql不需要密码即可登录数据库
Cmd进入mysql数据库
(4) 运行之后最后去掉my.ini中的skip-grant-tables,重启mysqld即可
也可这样做:
→先跳转到mysql的bin目录下,再输入mysqld --skip-grant-tables。这时候有可能一直没有反应的样子,不会生成新的一行输入。
实际上它已经停止了权限检查,我们可以进行其他操作了。
→重新打开一个cmd命令提示符窗口,进入到mysql里面,然后输入use mysql,就会发现成功了
上面最后一行提示的是Database changed!!
如果你输入show tables就会看到这个数据库下有个表叫user,记录了登陆的账户名和密码。
所以你可以这样修改root账户的密码:
这时你使用MySql Command Line Client登陆的话,就会要求输入密码123了!你已经不是匿名登陆,所以可以进行各种操作了!!!