学会Mysql第一天

  • 2020 年 4 月 11 日
  • 筆記

下面是博主学习mysql时整理的笔记,都是从基础开始,非常适合小白。欢迎阅读。

一、数据库管理

数据库是数据存储的最外层,也是数据存储的最大单元

初始化数据库

在cmd中进入mysql目录,输入binmysqld--initialize

创建数据库

create database 数据库名[库选项]

1.[库选项] 数据库的相关属性 字符集: charset 字符集 校对集: collate 校对集

显示数据库

显示全部数据库

show databases;

显示部分数据库

show databases like 匹配模式;

1.“_” 匹配当前位置单个字符 2.“%” 匹配当前位置多个字符

show databases like my%; --查看以my开头的所有数据库

显示创建数据库

show create database 数据库名;

选择数据库

use 数据库名;

修改数据库

5.5之后不能修改数据库名字,所以现在只是修改数据库的字符集或校对集

alter database 数据库名 charset [=] 字符集名称;

删除数据库

drop database 数据库名;

删除数据库后对应的文件夹和opt文件也被删除。

mysql服务端架构

1.数据库管理系统 DBMS (管理服务端的所有数据库) 2.数据库 DB (存储数据的仓库) 3.二维表 Table (数据的集合) 4.字段 field (具体的某种类型的数据)

数据库中的注释 “–”

每一个数据库都有对应的文件夹,每一个文件夹里都有初始的opt文件来保存对应的库选项 每当创建一个数据表,就会在对应的数据库下创建一些文件

MySQL中的三种语句结束符

; 与/g 显示效果相同 /G 显示效果不同(字符在左边,数据在右边)

二、数据表管理

创建表的操作

表需要放置在数据库下 两种方式:

1. 数据库名.表名  mydatabase.student  2.创建表之前先进入到某个数据库里面  use 数据库名;

创建表

create table 表名(      字段名1 字段类型 [字段属性],      字段名2 字段类型 [字段属性]      )[表选项];      --使用utf-8字符集来创建表  create table student(      name char(10),      sex  char(2),      age  int(10)  ) charset uft-8;

表选项与数据库选项类似 共有三个:

Engine 存储引擎 charset 字符集 只对自己的表有效(级别比数据库的高) collate 校对集 只对自己的表有效(级别比数据库的高)

复制表(只是复制表结构)

create table 新表名 like 数据库名.表名;    create table teacher like mydatabase.student;

显示表的操作

显示所有表

show tables;

显示部分表

show tables like 匹配模式;

显示表结构

本质含义:显示表中的字段的信息

1. describe 表名;  2. desc 表名;  3. show columns from 表名;

显示表创建语句

show create table 表名;

设置表属性

设置表属性就是设置表的选项(engine,charset,collate)

基本语法:

alter table 表名 表选项 [=] 值;  alter table student charset utf-8;

修改表结构

修改表名

rename table 旧表名 to 新表名;  rename table student to my_student;
alter table 旧表名 rename 新表名

新增字段

alter table 表名 add[column] 新字段名 列类型 [列属性] [位置 first/after 字段名];  alter table student add column address char(20) first;

默认是加到表的最后面,可以通过位置更改

修改字段名

alter table 表名 change 旧字段名 新字段名 字段类型 [列属性][新位置];  alter table student change address addres char(20);

修改字段名之后,要重新指定新字段的类型,否则就会报错.

修改字段类型

alter table 表名 modify 字段名 新类型[列属性][位置];  alter table student modify name varchar(20);

删除字段

alter table 表名 drop 字段名;  alter table student drop addres;

删除表结构

drop table 表名[,表名2....];     --可以同时删除多个表  drop table student;

三、用户的管理

创建用户

基本语法:

create user 'username'@'host' identified by 'password';  username--要创建的用户名  host--指定该用户在那个主机可以登录,如果是本地用户,则可以用localhost  password--表示该用户的登陆密码

例:

create user 'test1'@'localhost' identified by '123456';

用户删除

基本语法:

drop user 'username'@'host';

例:

drop user 'test1'@'localhost';

设置与更改用户密码

基本语法:

set password for 'username'@'host' = password('newpassword');

例如:

set password for 'test1'@'localhost' = password('654321');

表示把本地主机数据库用户test1的密码修改为654321.

授予与回收用户权限

1、授予用户权限

基本语法

grant privileges on dbname.tablename to 'username'@'host';

表示授权用户test1本地主机对所有数据库和数据表拥有全部权限:

grant all on *.* to 'test1'@'localhost';

2、回收用户权限

基本语法:

revoke privileges on dabname.tablename to 'username'@'host';

例如:

revoke all  on *.* to 'test1'@'localhost';