数据库基础知识
时间:2021-03-08 14:13:53
收藏:0
阅读:0
数据库基础知识
1.数据库存储结构
1.1 表是数据库的基本组成单元,所有的数据都以表格的形式组织,目的是可读性强。
1.2 表包括 行和列
1.2.1 行 :被称为数据/记录(data)
1.2.2 列 :被称为字段(column)
1.3 每个字段都有 名字 数据类型 相关的约束 等属性。
1.4 MySQL的两个引擎
① MyISAM 数据库的自带的数据库用,相比较 InnoDB 有自动统计行的特点。平常我们建表时,默认是InnoDB。
2.sql,DB,DBMS 分别是什么:
2.1 DB :
? DataBase(数据库,实际上在硬盘上以文件的形式存在)
2.2 DBMS
? DataBase Management System(数据库管理系统,常见的有 :MySQL Oracle DB2)
2.3 sql
? 结构化查询语言,标准通用的语言。
2.4 关系:
? DBMS 负责执行 sql 语句,通过执行 sql 语句来操作 DB 当中的数据
3.SQL 语句的的增删改查
1.1 DQL (数据查询语言):
? 查询语句,凡是 select 语句都是 DQL
1.2 DML (数据操作语言):
? insert delete update 对表当中的数据进行增删改
1.3 DDL (数据定义语言):
? create drop alter 对表结构进行增删改
1.3 TCL (事务控制语言):
? commit 提交事务 ,rollback 回滚事务
1.4 DCL (数据控制语言):
? grant 授权, revoke 撤销权限等。
4.基本操作语句
4.1 登录 MySQL 数据库
mysql - uroot -p 密码
mysql -u username -p -h IP -P 3306[端口号] //远程连接
4.2 查看数据库
show databases; [这个不是 SQL 语句,属于 MySQL 的命令]
4.3 创建属于自己的数据库
create database helloworld【名字】; [这个不是 SQL 语句,属于 MySQL 的命令]
4.4 使用 helloworld 数据
use helloworld; [这个不是 SQL 语句,属于 MySQL 的命令]
4.5 查看当前使用的数据库中有哪些表:
show tables; [这个不是 SQL 语句,属于 MySQL 的命令]
4.6 初始化数据
source 文件路径; //以 sql 结尾的文件,被称为 “sql 脚本”,里面写了许多 sql 语句,可以使用 source 来执行 sql 脚本,完成初始化。
4.7 查看操作:
DESC table1_name; //查看表结构
SHOW CREATE TABLE table1_name\G; //查看建表语句
select user(); //查看当前用户
select database(); //查看当前数据库
select version(); //查看当前MySQL的版本
select status(); //查看当前数据库的状态
select variables(); //查看数据库的参数
show processlist; //查看当前MySQL服务器的队列(使用较为频繁)
4.8 修改数据库的参数
select variables(); //查看数据库的参数
show variables like "arguments"; //查看某个参数的值。
set global argumets = value1; //将参数(arguments)的值改为 value1。
4.9 授权用户以及建立用户
grant all【权限:如 insert update 之类的,all 代表全部】 on *.*【表示这个用户只能在那个数据库中的那个表进行操作】 to ‘usrname‘@‘IP‘【该用户只能通过个IP地址来登录】 identified by "passwd";
grant all on *.* to ‘usrname‘@‘ip‘ identified by "passwd"; //建立相关用户
show grants;//查看授权
show grants for username@IP;//查看指定授权
4.10 数据备份
mysqldump -u username -p passwd database_name [table1_name] > /tmp/mysql.sql //备份
mysql -u username -p passed database_name [table1_name] < /tmp/mysql.sql //导入
[错误纠正]
[错误1: Can‘t connect to local MySQL server through socket]
在 /etc/my.cnf 中输入以下字段:
[client]
default-character-set=utf8
socket=/tmp/mysql.sock
[mysql]
default-character-set=utf8
socket=/tmp/mysql.sock
并将 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 注释掉!
评论(0)