目录
一、查看数据库结构
1.1 查看数据库信息
mysql默认4个数据库
- information_schema:定义访问数据库元数据的方式。数据库名和表名,列的数据类型、访问权限等。
- mysql:核心数据库,负责存储数据库用户、权限、关键字等用户自己需要使用的控制和管理信息。
- performance_schema:数据库的性能参数,存储引擎等。
- sys:sys系统库下包含许多视图,它们以各种方式对preformance_schema表进行聚合计算展示。
1.2 查看数据库中的表信息
1.3 显示数据表的结构(字段)
二、SQL语句概述
2.1 SQL语言简介
- Structured Query Language的缩写,即结构化查询语言
- 关系型数据库的标准语言
- 用于维护管理数据库
包括数据查询、数据更新、访问控制、对象管理等功能
2.2 SQL分类
- DDL:数据定义语言
- DML:数据操纵语言
- DQL:数据查询语言
- DCL:数据控制语言
2.3 创建数据库和表
格式:
create table 表名(字段01名称 字段01类型 字段01约束,字段02名称 字段02类型 字段02约束,…)存储引擎,字符集
字段名称、类型、约束解释:
字段01名称
- 属性名称
- 自定义
字段01类型
- int(4) 整型 代表0000-9999
- double 浮点型
- decimal(5,2)有效数字是5位,小数点后面保留2位 100.00;099.50
- float 单精度浮点 4字节
- char 字符
char (10)固定长度字符串,字符串要用单引号引起来 - varchar(50)可变长度字符串
字段01约束:
- 非空约束:内容不允许为空 not null
- 主键约束:非空且唯一 标识 primary key(主键)
- 默认约束:假如没有填数据,默认预先设定的值填写 default ‘未知’
- 自增特性:id 1 2 3 4 auto_increment(自动增长)
- 存储引擎:myisam innodb
- 字符集:UTF-8
2.4 删除数据库和表
三、管理数据表中的数据
DML语句用于对表中的数据进行管理
包括的操作
- insert:插入新数据
- update:更新原有数据
- delete:删除不需要的数据
注意:对数据的操作用DELETE,对库和表用drop
3.1 向数据表中插入新的数据内容
完整格式:insert into info (字段1,字段2) values (字段1的值,字段2的值)
- 加字段
- 不加字段
- 查看表格数据
3.2 修改、更新数据表中的数据记录
格式:update 表名 set 字段名1=值1,字段名2=值2 where 条件表达式
通过直接修改数据库中user表的方式实现修改root用户的登录密码
3.3 在数据库中删除指定的数据记录
3.4 数据库高级操作
-
清空表
delete from info;
truncate table info;
truncate清空表,表还在;drop是删除表中所有记录。
truncate和delete是两者的新值初始id不同。 -
临时表
临时建立的表,用于保存一些临时数据,不会长期存在
mysql> create temporary table temp_info(id int(10) auto_increment, name char(32) character set utf8 collate utf8_bin not null, age int(100) not null, primary key(id)) engine=innodb default charset=utf8;
innodb 支持事务;写在括号外面的是对整张表的设定。
show tables;看不到临时表
- 克隆表
like方法:从info表完整复制结构生成test表,再导入数据
- 新建一个tmp表,读取test表中的所有内容放入tmp表
3.5 数据库用户授权
-
DCL语句设置用户权限(用户不存在时,则新建用户)
-
设置登录密码为abc123的lee用户,可以从本地终端登录,对mysql库中的user表有select权限
- 查看用户的权限
- 查看从本地登录的tom用户的权限
- 查看当前系统中的用户
- 撤销用户的权限
grant:当用户已存在时,直接提权。
当用户不存在时,先创建用户,再提权。
revoke:只撤销权限,不删除用户