MySQL数据库管理及用户管理以及数据库用户授权
- MySQL数据库管理
- 1、库和表
- 2、常用的数据类型
- 查看数据库结构
- SQL语句
- 1、SQL语句分类:
- 创建及删除数据库和表
- 管理表中的数据记录(表数据的增删改查)
- 向数据表中插入新的数据记录(增)
- 查询表数据记录(查)
- 修改/更新数据表中的数据记录(改)
- 在数据表中删除指定的数据记录(删)
- 修改表名和表结构
- 修改表名 rename
- 扩展表结构(增加字段) add
- 修改字段名,添加唯一健 change
- 删除字段 drop
- 总结
- 查看数据库和表:
- 创建及删除数据库和表:
- 表数据的增删改查:
- 修改表名和表结构:
- 主键和唯一键:
- 添加主键字段的三种方法:
MySQL数据库管理
1、库和表
行(记录):用来描述一个对象的信息
列(字段):用来描述对象的一个属性
2、常用的数据类型
int :整型
float :单精度浮点 4字节32位
double :双精度浮点 8字节64位
char :固定长度的字符类型
varchar :可变长度的字符类型
text :文本
image :图片
decimal(5,2) :5个有效长度数字,小数点后面有2位
查看数据库结构
show databases; #查看当前服务器中的数据库
use 数据库名; #切换数据库
show tables; #查看数据库中包含的表
desc(desribe) 表名; #查看表的结构
SQL语句
SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能
1、SQL语句分类:
创建及删除数据库和表
create database 数据库名; #创建新的数据库
create table 表名 (字段1 数据类型,字段2 数据类型,。。。。PRIMARY KEY (主键名]); #创建新的表
drop table 表名; #删除指定的数据表
drop database 数据库名; #删除指定的数据库
删除表
删除库
管理表中的数据记录(表数据的增删改查)
向数据表中插入新的数据记录(增)
方法一:为所有字段插入值
insert into 表名 values (所有字段的值); #每个字段值用逗号相隔;
方法二:为指定字段插入值
INSERT INTO 表名(字段1,字段2[,...]) VALUES (字段1的值,字段2的值,...); #注意字段的属性not null,则必须为该字段插入值
查询表数据记录(查)
SELECT * FROM 表名; #查询表中所有记录
#按条件查找数据记录,且只显示指定字段的值
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
#表中的记录默认是横向展示的,当字段很多时显示很乱,可以将";"换成"\G",改成纵向展示每条记录。
select * from 表名\G
#mysql的分页语句:
select * from 表名 limit 2;
select * from 表名 limit 2,3; #显示第2行后的前3行(即显示第3~5行)
select * from 表名 limit 19,11; #查看第20行到第30行的记录
select * from 表名 id>=10 and id<=20; #查看id值在10到20之间的数据记录
修改/更新数据表中的数据记录(改)
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
在数据表中删除指定的数据记录(删)
DELETE FROM 表名 [WHERE 条件表达式]; #删除一定要加条件,不然会删除整个表
例:
DELETE FROM class01 WHERE id=2; #删除id字段值为2的数据记录
修改表名和表结构
修改表名 rename
ALTER TABLE 旧表名 RENAME 新表名
扩展表结构(增加字段) add
ALTER TABLE 表名 ADD 字段名 数据类型;
修改字段名,添加唯一健 change
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 [数据类型] [约束];
删除字段 drop
ALTER TABLE 表名 DROP 字段名;
总结
查看数据库和表:
show databases;
use 库名;
show tables;
desc 表名;
desc 表名\G
show create table 表名;
创建及删除数据库和表:
create database 库名;
create table 表名(字段1 数据类型 [属性], 字段2 .....);
DROP TABLE [数据库名.]表名;
DROP DATABASE 数据库名;
表数据的增删改查:
insert into 表名 values (所有字段的值);
insert into 表名 (指定字段名称) values(字段的值);
delete from 表名 [where ...];
truncate table 表名; #删除表中所有数据。相当于格式化,速度很快
update 表名 set 字段=值[, 字段2=....] [where ...];
select 字段1[,字段2....] from 表名 [where ...];
select * from 表名;
修改表名和表结构:
alter table 表名 RENAME/ADD/CHANGE/DROP 字段名 数据类型 属性;
alter table 表名 ADD 键名(字段); //给指定字段添加键约束
注:零填充约束、非空约束、默认约束、自增长约束不能通过ADD方式添加,可以在建表时设置,或者CHANGE修改字段时添加。
主键和唯一键:
主键:primary key
唯一键:unique key
共同点: 字段的值都是唯一性,不允许有重复的值
不同点:
一个表中 只能有1个主键,但是可以有多个唯一键
主键字段中不允许有null值,唯一键是允许有null
添加主键字段的三种方法:
创建表时指定主键字段的两种方式:
create table 表名 (字段1 XXX,字段2 xxx,...,primary key(字段));
create table 表名 (字段1 XXX primary key, ....);
在现有表中添加主键:
alter table 表名 ADD primary key(字段);