9.20(day41)数据库介绍,数据库分类。连接数据库,数据库的基本操作,数据库,表,记录的基本操作

数据库


1.什么是数据库:管理数据的系统(安装某种管理数据的系统,管理的对象本质是文件)
2.存数据的位置:内存,硬盘
3.什么是系统:运行在硬件基础上,管理其他软件

数据库的组成:
库:存放多张表(文件夹)
表:包含多条相同结构的记录
记录:包含多个key-value(键值对)的一条数据
字段:描述信息 -- 信息本身 == key -- value(键值对)
表:
id name age gender
1 BOB 18 男
2 TOM 17 女

数据库的分类


关系与非关系
关系:数据库中表与表有联系,mysql,
非关系:没有表概念,(只有记录)redis,mongodb(介于关系与非关系)

内存与硬盘:
硬盘:数据可以永久存储,mysql,mongodb
内存:数据的存取效率极高,redis,memcache

sql与nosql
sql:数据库操作通过sql语句
nosql:数据库操作通过key-value形式(value就是一条记录)
stu - {'name':'BOB','age':'18'}

连接数据库


游客登录

mysql 直接回车,不一定能登录,登录也无法操作

账号密码登录

mysql -u(空格可有可无)root -p 回车,
密码,无提示 没有密码直接回车

连接指定服务器的mysql:

mysql -h -P -u -p 依次是IP地址,端口号(默认3306),账号密码
例:
mysql -hlocalhost -P3306 -u root -p
(localhost表示本地),端口号错误会连接超时
连接远程服务器时 -h ip地址 -P3306 -u(账号) -p(密码)

退出:quit exit

用户操作


用户信息查看

查看当前用户:select user();

root权限下查看所有用户信息:select * from mysql.user; (当前数据库的user表)
后加G 纵向排列
select user,password,host from mysql.user; 查看账户,密码,端口,空的user是游客,没有权限

root登录下,删除游客(需要重启mysql服务)
delete from mysql.user where user='';

root登录下,修改密码(需要重启)
update mysql.user set password=password('123456') where host='127.0.0.1'

没有登录
musqladmin -用户名 -p旧密码 -h域名 password"密码"
例:mysqladmin -uroot -p123456 -h'127.0.0.1' password'12345678'

root登录下,创建用户
grant 权限们 on 数据库名.表名 to 用户名@主机名 identified by '密码';

数据库基本操作


前提:登录

查看已有数据库
show databases

选择使用的数据库
use 数据库名

查看当前所在数据库
select database();

创建数据库
create database 数据库名[charset = 编码格式];
(都在目录data下面)

创建数据库的详细内容
show create database 数据库名;

删除数据库
drop database 数据库名;

表的基本操作


前提:选取过了数据库

查看已有表
show tables;

创建表
create table 表名(字段们);
例:create table student(name varchar(16),age int);
(字段,长度,类型,约束)

查看创建表的sql
show create table student;

查看创建表的结构
desc 表名

删除表
drop table 表名;

记录的基本操作


查看某个数据库中的某个表的所有记录,如果在对应数据库中,可以直接查找表
select * from [数据库名.]表名;

给表的所有字段插入数据
insert [into] [数据库名.]表名 values(值1,,,,值n);
如果给有name和age两个字段的student表插入数据
例:insert into student values('Bob',18);
insert into student values(),(),() 多个时
指定库:insert 数据库名.student values();

修改
update from [数据库名.]表名 set 字段1=新值1,字段2=新值2,,, where 字段=旧值
例:update student set name='',age='' where name='';

根据条件删除记录
delete from [数据库名].表明 where 条件;
例:delete from student where age<30;

原文地址:https://www.cnblogs.com/jiann/p/11557248.html