数据库特点:
持久化:把程序中的数据写入到文件中;
数据库作用:
1、数据有统一的格式,方便管理
2、有专门的查询算法,方便数据的查询
3、可以给不同的用户赋予不同的操作权限,方便对用户管理
4、数据库可以降低数据冗余。
数据库分类:
1、关系型数据库:其中的数据是以二维表的形式进行存储的,而且表与表之间具有关系:一对一关系,一对多关系,多对多关系;
2、非关系型数据库(KV)
数据库基础:
DB:DateBase:数据库(文件没有功能,通过DBMS操作文件)
DBMS:DateBaseManagermentSystem:数据库管理系统:操作数据库中的所有文件;
RDBMS:RelationShipDBMS:关系型数据库管理系统
常见的关系型数据库: MySql、Oracle、DB2(IBM)、SQLServer(MS)】
CRUD:增删改查
C:create 增
R:read 查(比较复杂)
U:update 改
D:delete 删
列:属性(Attribute)、列(column)、字段(field)都是列,表中的属性以列进行描述。
行:记录。
NaicvCat:是一个数据库的客户端程序,并不是数据库本身。
naicvcat快捷键
1、ctrl + q:打开查询窗口
2、ctrl + w:关闭查询窗口
3、ctrl + shift + r:运行已选择的代码
4、ctrl + r :运行语句
SQL语言分类:
1、DQL:DataQuaryLanguage:数据查询语言
select
2、DML:DataManipulateLanguage:数据操作语言
insert、update、delete
3、DDL:DataDefinitionLanguage:数据定义语言
create、
alter(修改表结构)、
modify(后边一定跟数据类型,改列的数据类型,加非空唯一约束)、
drop、truncate(对表结构进行操作)、
rename(修改表名)
change(改列名、列的数据类型)
4、DCL:DataControllerLanguage:数据控制语言
grant/revoke、commit、rollback
用DOS命令操作MySQL数据库:
导入脚本:
1、将mysql文件夹下的bin文件加到环境变量中;
linux 中输入:sudo service mysql start
2、在DOS中进入MySQL:
musql -u root(用户名) -p
回车之后输入密码 (若显示MYSQL提示符:mysql>,则成功)
连接到远程主机上的MYSQL上的格式:
mysql -h 主机地址 -u 用户名 -p 用户密码
注意:刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中;
3、打开数据库:
use 数据库名;
4、在打开数据库的前提下才能导入sql脚本:
source 脚本路径(路径中最好不要出现中文);
5、退出mysql:
exit/quit
6、退出输sql语句模式: 在 ’ -> ’ 之后输入 “\c”;
提示符 | 含义 |
---|---|
mysql> | 准备好接收新命令。 |
-> | 等待多行命令的下一行。 |
‘> | 等待下一行,等待以单引号开始的字符串的结束。 |
“> | 等待下一行,等待以双引号开始的字符串的结束。 |
`> | 等待下一行,等待以反斜点开始的识别符的结束。 |
/*> | 等待下一行,等待以/*开始的注释的结束。 |
导出脚本:
1、备份数据库:
方法一:
mysqldump -u 用户名 -p 密码 数据库名 > 路径+文件名.sql
方法二:
①、新建一个表 create database new charaster set 'utf8';
②、进入DOS输入命令 mysql -u root new < 脚本
2、备份表:
mysqldump -u 用户名 -p 密码 数据库名 表名 > 路径+文件名.sql
3、备份数据库结构:
mysqldump -u 用户名 -p 密码 -d 数据库名 > 路径+文件名.sql
4、给现有表导入数据:
load data infile '文件路径' into table 表名;
注意:
要导入的文件格式为txt,文件内只写数据,并且要和列名对应
5、将数据库中的数据保存到文件中:
select * into outfile '文件路径和文件名' from 表名字;
注意:
“文件路径” 之下不能已经有同名文件。
修改密码:
1、DOS命令修改:
mysqladmin -u root -p password
2、UPDATE user 语句:
update user set password=PASSWORD('新密码') where user= '用户名';
3、SET PASSWORD语句:
SET PASSWORD FOR root@localhost=PASSWORD('123456');
关于昨天下午说的MySQL服务无法启动的问题,解决之后没有进入数据库,就直接关闭了电脑。
今早打开电脑,开始-运行 输入“mysql -uroot -pmyadmin”后出现以下错误:
“Access denied for user ‘root’@’localhost’ (using password:YES)”
直接输入“mysql” 也回报类似的错误:应该是:
“Access denied for user ‘ODBC’@’localhost’ (using password:NO)”具体的不记得了,貌似是这个。
关于这个问题,找了很久的解决方案,也换了盘符重装了好几次,问题依旧。
有网上说打开MySQL 的 MySQL 5.5 Command Line Client,在里面进行一系列的操作即可。但是此界面进来就要输入密码:
Access
无论输入什么都直接退出。没撤了。
(哦,对了,期间,我还试过,在安装MySQL的时候不设置密码。安装成功后,还是报错。)
网上看了一大堆的解决办法,都不行。最后,结合一些办法,终于解决问题了。至于我的做法对不对?我不知道,但是确实解决了问题。也许还有其他的更好的解决方案,如果兄弟姐妹们知道的话,希望也能与我分享一下,不胜感激。
解决方案:
1、打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。
2、重启MySQL服务。
3、在命令行中输入“mysql -uroot -p”(不输入密码),回车即可进入数据库。
4、执行,“use mysql;”使用mysql数据库。
5、执行,“update user set password=PASSWORD(“rootadmin”) where user=’root’;”(修改root的密码) <