下面是博主学习mysql时整理的笔记,都是从基础开始,非常适合小白。欢迎阅读。
一、数据库管理
数据库是数据存储的最外层,也是数据存储的最大单元
初始化数据库
在cmd中进入mysql目录,输入bin\mysqld--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';
复制
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客
http://www.zhchenle.cn
复制
如有侵权,请联系 [email protected] 删除。