MySQL数据库基本操作与简单管理
Field:字段名称Type:数据类型Null :是否允许为空Key :主键Default :默认值Extra :扩展属性,例如:标志符列(标识了种子,增量/步长)1 2。
·
目录
2.2.1 创建新的数据库(create database)
2.4.1 向数据表中插入新的数据记录(insert into)
1、基础管理
1.1 查看数据库信息
show databases;
1.2查看数据库中的表信息
方法一:在数据库中查看表
use 数据库名; #切换到想要操作的数据库中
show tables; #能查看到该数据库中所有的表
方法二:在库外查看表
show tables from 数据库名;
1.3查看数据表的结构(字段)
describe [数据库名.]表名;
#describe可以缩写成: desc
1.3.1 字段属性简介
Field:字段名称
Type:数据类型
Null :是否允许为空
Key :主键
Default :默认值
Extra :扩展属性,例如:标志符列(标识了种子,增量/步长)1 2
1.3.2 常用数据类型
类型 | 说明 |
int | 整型,用于定义整数类型的数据 |
fload | 单精度浮点4字节32位,准确表示到小数点后六位 |
double | 双精度浮点8字节64位 |
char | 固定长度的字符类型,用于定义字符类型数据。 |
varchar | 可变长度的字符类型 |
text | 文本 |
image | 图片 |
decimal(5,2) | 5个有效长度数字,小数点后面有2位。指定长度数组 |
小结:
char
char的长度是不可变。char如果存入数据的实际长度比指定长度要小 会补空格至指定长度 如果存入的数据的实际长度大于指定长度,低版本会被截取高版本会报错。
varchar
varchar长度是可变的,默认会加一个隐藏的结束符,因此结束符会多算一个字节。
2、数据库管理
2.1 SQL语句分类
- SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。
SQL语句分类:
语句 | 代表的意思 | 关键字 |
---|---|---|
DDL | 数据定义语言,用于创建数据库对象,如库、表、索引等 | CREATE,DROP,ALTER |
DML | 数据操纵语言,用于对表中的数据进行管理 | INSERT,DELETE,UPDATE |
DQL | 数据查询语言,用于从数据表中查找符合条件的数据记录 | SELECT |
DCL | 数据控制语言,用于设置或者更改数据库用户或角色权限 | GRANT,REVOKE |
2.2 创建、删除数据库和表
2.2.1 创建新的数据库(create database)
#建立数据库
create database 数据库名;
#建立数据库并指定字符集utf8mb4
create database 数据库名 charset=utf8mb4;
后文有详细操作及其演示
2.2.2 删除指定的数据库(drop database)
drop database 数据库名;
2.2.3 创建新的表(create table)
use 数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。
例如:
use yun1;进入指定数据库
create table students (id smallint unsigned primary key auto_increment, name varchar(10), age tinyint unsigned,gender enum('M','F') default 'M' );
#unsigned:取消负数
primary key:主键
auto_increment: 自增长
enum('M','F'):多选
default 'M':默认值为 M
2.3.4 删除指定的数据表(drop table)
方法一:库内删除
use 数据库名;
drop table 数据表名;
方法二:库外删除
#如不用USE进入库中,则需加上数据库名
drop table 数据库名.数据表名;
2.4 管理表中的数据记录
2.4.1 向数据表中插入新的数据记录(insert into)
insert into 表名(字段1,字段2[,...]) values(字段1的值,字段2的值,...);
例如:
insert into students(id,name,age,gender) values (1,'zhangsan',20,'M');
insert into(name,age) values ('lisi',19);
提前新建数据表(注意长度设置)
use yun1;进入指定数据库
create table students (id smallint unsigned primary key auto_increment, name varchar(10), age tinyint unsigned,gender enum('M','F') default 'M' );
2.4.2 查询数据表内数据记录(select)
select 字段名1,字段名2[,...] from 表名 [where 条件表达式];
基本操作:
1. #查询全部数据
select * from 数据表名;
例如:
select * from students;
2. #查询指定数据
例如:
select age,name from students where id=2;
2.4.2.1 进阶查询
更多操作:
3. #以列表方式竖向显示
select * from 数据表名\G;
例如:
select * from students\G;
4. #只显示头2行
select * from 数据表名 limit 2;
例如:
select * from students limit 2;
5. #显示第3行后的2行
select * from 数据表名 limit 3,2;
例如:
select * from students limit 3,2;
2.4.3 修改、更新数据表中的数据记录(update)
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
例如:
update students set age=19 where id=4;
update students set age=23,id=11 where name='zhangsan';
2.4.4 在数据表中删除指定的数据记录
delete from 表名 [where 条件表达式];
例如:
delete from students where id=2;
!!!!注意id并不会顶上去!!!!
2.5 修改表名和表结构(alter table)
2.5.1 修改表名(rename)
alter table 旧表名 rename 新表名;
例如:
alter table students rename xuesheng;
2.5.2 扩展表结构,增加字段(add)
alter table 表名 add 字段;
例如:
alter table xuesheng add passwd varchar(40);
2.5.3 修改字段(列)名,添加唯一键(change)
alter table 表名 change 旧列名 新列名 数据类型 [unique key];
例如:
alter table xuesheng change name user_name char(30) unique key;
#CHANGE可修改字段名、数据类型、约束等所有项。
验证:
insert into xuesheng values(6,lili,23,234567,NANKING);
失败,因为设置了唯一键,lili不能重复,改成lulu即可
insert into xuesheng values(6,lulu,23,234567,NANKING);
5.4 删除字段(drop)
alter table 表名 drop 字段名;
例如:
#删除表中passwd字段
alter table xuesheng drop passwd;
更多推荐
已为社区贡献1条内容
所有评论(0)