MySQL学习笔记01_数据库基础知识
01_1 mysql数据库启动与停止
- 以<管理员权限>启动cmd;
- 输入net stop mysql停止mysql服务;
- 输入net start mysql启动mysql服务;
- 输入mysql -u root –p回车,然后输入密码进入到mysql的操作系统,并具有root权限;
- 在命令提示符窗口使用services.msc查看mysql服务的状态.
01_2 数据库的简单介绍
按照数据库的发展时间顺序,主要出现了以下类型数据库系统:
- 网状型数据库
- 层次型数据库
- 关系型数据库
- 面向对象数据库
上面4中数据库系统中,关系型数据库使用最为广泛。面向对象数据库则是由面向对象语言催生的新型数据库,目前的一些数据库系统,如:SQL Server 2005、Oracle10g等都开始增加面向对象的特性。
01_3 SQL语句基础理论
SQL是操作和检索关系型数据库的标准语言,标准SQL语句可用于操作关系型数据库,划分为以下类型:
- DDL(Data Definition Language,数据定义语言)语句,操作数据对象的语言,有create、alter、drop;
- DML(Data Munipulation Language,数据操作语言)语句,这组DML语句修改后数据将保持较好的一致,有insert、update、delete;
- DQL(Data Query Language,数据查询语言)语句,主要用于查询数据,主要由select关键字完成,查询语句是SQL语句中最复杂,功能最丰富的语句;
- DCL(Data Control Language,数据控制语言)语句,主要有grant、revoke、commit、rollback、savepoint语句。
01_4 常见数据库对象及数据类型
(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中的一个或多个值 |
01_5 登录mysql数据库
(1)DOS命令:
mysql –h hostname –P Port –u username -p
一般在本机测试时:
mysql –h localhost –P 3306 –u root –p mysql –u root -p
然后系统会提示输入密码。
(2)图形化界面SQLyog
01_6 mysql相关命令
List of all MySQL commands:
Note that all text commands must be first on line and end with ';' ? (\?) Synonym for `help'. clear (\c) Clear the current input statement.明确当前输入语句 connect (\r) 连接到服务器,可选参数为数据库和主机 delimiter (\d) Set statement delimiter.设置语句分隔符 ego (\G) Send command to mysql server, display result vertically.发送命令到mysql服务器并显示结果 exit (\q) Exit mysql. Same as quit.退出mysql go (\g) Send command to mysql server. 发送命令到mysql服务器 help (\h) Display this help.显示帮助信息 notee (\t) Don't write into outfile.不写输出文件 print (\p) Print current command.打印当前命令 prompt (\R) Change your mysql prompt.改变mysql的提示信息 quit (\q) Quit mysql.退出mysql rehash (\#) Rebuild completion hash.重建完成散列 source (\.) 执行一个SQL脚本文件,以一个文件名作为参数 status (\s) Get status information from the server.从服务器获取mysql的状态信息 tee (\T) 设置输出文件[to_outfile],并将信息添加到所有给定的输出文件 use (\u) 使用另一个数据库,数据库名称作为参数 charset (\C) 切换到另一个字符集 warnings (\W) Show warnings after every statement.每一个语句之后显示警告 nowarning (\w) Don't show warnings after every statement.每一个语句之后不显示警告
01_7 重新配置mysql
(1)通过DOS命令重新配置
修改字符集编码:set character_set_client=utf8; set character_set_client=gbk;
(2)修改ini配置文件
注意:修改后需要重启mysql服务,修改才能生效。
01_8 解决mysql初始化时如何设置密码的问题
问题截图:
解决方案:
(1)首先以管理员方式启动cmd控制台
停止mysql服务
>net stop mysql
(2)跳过mysql的权限检查,因为mysql一开始的时候没有设置用户名和密码,默认以root用户登录会自动生成随机密码,需要跳过这一步
在初始化配置中my.ini的[mysqld]字段加入:skip-grant-tables
(3)重启mysql服务,这时的mysql不需要密码即可登录数据库
Cmd进入mysql数据库
mysql>use mysql; mysql>update user set password=password('q335836929') WHERE User='root'; mysql>flush privileges;
(4) 运行之后最后去掉my.ini中的skip-grant-tables,重启mysqld即可
也可这样做:
→先跳转到mysql的bin目录下,再输入mysqld --skip-grant-tables。这时候有可能一直没有反应的样子,不会生成新的一行输入。
实际上它已经停止了权限检查,我们可以进行其他操作了。
→重新打开一个cmd命令提示符窗口,进入到mysql里面,然后输入use mysql,就会发现成功了
上面最后一行提示的是Database changed!!
如果你输入show tables就会看到这个数据库下有个表叫user,记录了登陆的账户名和密码。
所以你可以这样修改root账户的密码:
UPDATE user SET Password=PASSWORD('q335836929') WHERE user='root';
这时你使用MySql Command Line Client登陆的话,就会要求输入密码123了!你已经不是匿名登陆,所以可以进行各种操作了!!!
本文链接:http://www.cnblogs.com/homewch/p/6015151.html
MySQL学习笔记01_数据库基础知识的更多相关文章
- MySQL学习笔记(一)—数据库基础
一.数据库概述 1.数据库的组织结构 (1)数据库就是用来存放信息的仓库. (2)数据库里的数据集合都存放在数据表(table)里. (3)数据表由数据行(row)和数据 ...
- ios开发学习笔记001-C语言基础知识
先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...
- mysql学习之路_基础知识
Mysql php阶段将数据库分为三个阶 基础阶段: mysql数据库的基本操作(增删改查),以及一些高级操作(视图,触发器,函数,存储过程等),PHP操作没有sql数 ...
- FreeRTOS学习笔记——FreeRTOS 任务基础知识
RTOS 系统的核心就是任务管理,FreeRTOS 也不例外,而且大多数学习RTOS 系统的工程师或者学生主要就是为了使用RTOS 的多任务处理功能,初步上手RTOS 系统首先必须掌握的也是任务的创建 ...
- SQL学习笔记之 数据库基础(一)
数据库基础 数据库系统的组成:由数据库,数据库管理软件,数据库管理员DBA,支持数据库系统的硬件和软件组成,其中数据库管理员是对数据库进行规划.设计.维护.和监视的专业管理人员,在数据库系统中起着非常 ...
- MySQL学习笔记02_数据库和表的基本操作
02_1 操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[, create_specifica ...
- 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识
写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...
- MySQL学习笔记_8_SQL语言基础复习
SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 ...
- 【 学习笔记 】memcached基础知识
源地址:http://kb.cnblogs.com/page/42731/ 仔细学习了下,以下是记录的笔记备忘内容. 一.memcached是什么? memcached是高性能的分布式内存缓存服 ...
随机推荐
- sqlserver 2005 数据误删恢复
今天同事不小心将一个很重要的数据表中的数据删除了,找了很多人都没办法恢复.我在网上搜索了一下资料,发现有一个方法可以一试,具体如下 http://www.knowsky.com/616730.html ...
- JS树形菜单
超全的JS树形菜单源代码共享(有实例图) 树形菜单是很常用的效果,常用在管理软件当中,但是一套树形菜单已经不能满足需求,所以如果能有一套比较全面的树形菜单JS特效代码,将会非常方便,下面懒人萱将超全的 ...
- rewrite
http://www.iis.net/downloads/microsoft/url-rewrite
- sed命令详解
搜索 纠正错误 添加实例 sed 功能强大的流式文本编辑器 补充说明 sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时 ...
- BZOJ 4668: 冷战
Description 在一个图上,在两个点间连一条边,问这两个点最早在什么时候联通. Sol 并查集+启发式合并. 按秩合并的并查集...我也不知道什么是按秩合并,反正就跟启发式合并差不多,合并的时 ...
- BZOJ 2083: [Poi2010]Intelligence test
Description 问一个序列是不是起始序列的子序列. Sol 二分. 直接维护每个数出现的位置,二分一个最小的就行. Code /******************************** ...
- JSon解析
1.解析总是犯糊涂 在图中,[] 中括号表示是jsonarray,{} 小括号 表示对象 这个解析可以写成: JSONArray array=new JSONArray(result); for( ...
- 52. 不用+、-、×、÷做加法[add two numbers without arithmetic]
[本文链接] http://www.cnblogs.com/hellogiser/p/add-two-numbers-without-arithmetic.html [题目] 写一个函数,求两个整数的 ...
- Unity3D配合AndroidStudio打包
SET UNITY_PATH="C:\Program Files\Unity\Editor\Unity.exe" echo UNITY_PATH=%UNITY_PATH% SET ...
- ServiceStack.Redis订阅发布服务的调用(Z)
1.Redis订阅发布介绍Redis订阅发布是一种消息通信模式:发布者(publisher)发送消息,订阅者(Subscriber)接受消息.类似于设计模式中的观察者模式.发布者和订阅者之间使用频 ...