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是高性能的分布式内存缓存服 ...
随机推荐
- vue2.0实战
学了几周的vue2.0,终于有时间去做一个应用了. 为了全面联系相关知识,所以用到了vue-router,以及作者最新推荐的axios,组件库用的是饿了么的mint-ui2.0. 项目构建使用官方vu ...
- marquee上下左右循环无缝滚动代码
一.横向滚动<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN "><HTML>< ...
- 一堆LCT板子
搞了一上午LCT,真是累死了-- 以前总觉得LCT高大上不好学不好打,今天打了几遍感觉还可以嘛= =反正现在的水平应付不太难的LCT题也够用了,就这样好了,接下来专心搞网络流. 话说以前一直YY不出来 ...
- [转] 有java基础的人如何转行做大数据?
数据有两个方向,一个是偏计算机的,另一个是偏经济的.你学过Java,所以你可以偏将计算机基础1. 读书<Introduction to Data Mining>,这本书很浅显易懂,没有复杂 ...
- Ninject学习(一) - Dependency Injection By Hand
大体上是把官网上的翻译下而已. http://www.ninject.90iogjkdcrorg/wiki.html Dependency Injection By Hand So what's Ni ...
- springMVC接受JSON异常
在springMVC 使用@RequestBody接受Json总是报如下错误: HTTP Status 500 - Handler processing failed; nested exceptio ...
- DevExpress 程序运行后 layoutView 卡片大小发生变化
设置属性前效果: 将layoutView1.CardMinSize 的属性更改为(0, 0) 后 效果:
- ACM/ICPC 之 DFS+SPFA-贪心+最短路(POJ2679)
//POJ2679 //DFS+SPFA+邻接表 //只能走每个点费用最小的边,相同则需保证距离最短 //求最小费用及最短距离 //Time:47Ms Memory:900K #include< ...
- IntelliJ IDEA WEB项目的部署配置
以下内容是我网上找的比较全面了,其中关于facets配置很多地方都没有说明,其实很重要,我加入了自己的理解.其他来自网络.在导入一个项目有问题时,建议先创建一个正确的web项目,然后对比配置项,一般就 ...
- hashMap和hashTable的区别
每日总结,每天进步一点点 hashMap和hashTable的区别 1.父类:hashMap=>AbstractMap hashTable=>Dictionary 2.性能:hashMap ...