MySQL数据库管理

本文介绍了数据库常用的数据类型,如int、float、char等,并详细讲解了SQL语句的四大类:DDL(创建数据库、表等),DML(插入、查询、更新、删除数据),DQL(数据查询)以及DCL(数据控制)。此外,还涉及如何查看数据库结构及表信息。
摘要由CSDN通过智能技术生成

目录

 一、常用的数据类型

二、查看数据库结构

1. 进入数据库

2.查看数据库信息 

3.查看数据库中表的信息 

4. 显示数据表的结构(字段)

三、SQL语句

 1. DDL数据定义语言

1.1 创建新的数据库

1.2  创建新的表

1.3  删除指定数据表 

1.4 删除指定的数据库 

2.DML 数据操纵语言

2.1 向数据表中插入新的数据记录

2.2  查询数据记录

2.3  修改、更新数据表中的数据记录 

2.4  在数据表中删除指定的数据记录 

3.DQL数据查询语言

4. DCL数据控制语言

4.1 修改表名

4.2  扩展表结构(增加字段) 

4.3  修改字段(列)名,添加唯一键 

4.4   删除字段

 四、扩展


 一、常用的数据类型

类型说明
int整型 ,用于定义整数类型的数据
float单精度浮点4字节32位        准确表示到小数点后六位
double双精度浮点8字节64位
char固定长度的字符类型        用于定义字符类型数据。
varchar可变长度的字符类型                      
text文本
image图片  
decimal(5,2)5个有效长度数字,小数点后面有2位     
  •  char 如果存入数据的实际长度比指定长度要小,会补空格至指定长度;如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错。
  •  char 为固定长度值,不足的以空格替代,而 varchar 为可变值,最大为设置的长度值,当不足时,即为当前长度大小

二、查看数据库结构

1. 进入数据库

mysql -u root -p
-u 连接数据库的用户名
-p 后面跟的是连接数据库的密码(不能有空格)
#尽量不要在命令后输入密码,历史命令可以查看

2.查看数据库信息 

大小写不区分,分号 ";"  表示结束

3.查看数据库中表的信息 

 

use yh          #进入MySQL数据库
show tables;    #查看所有表


Database changed   #表示所在库的位置发生变更

4. 显示数据表的结构(字段)

describe [数据库.]表名   
或
desc [数据库.]表名 

这里执行就像我们在Linux中使用绝对路径和相对路径一样,当你在所在表的库中时,可省略前面的数据库名(相对路径)。
当你需要对其他库中的表进行操作时,就需要加上库名(绝对路径)进行操作。
Field字段名称
type数据类型
Null 是否允许为空
key 主键
Default默认值
Extra 扩展属性,例如:标志符列(标识了种子,增量/步长)1 2
id1 3 5 7 8

三、SQL语句

  •  Structured Query Language 的缩写,即结构化查询语言
  •  关系型数据库的标准语言
  •  用于维护管理数据库:包括数据查询、数据更新、访问控制、对象管理等功能
说明类型
DDL数据定义语言,用于创建数据库对象,如库、表、索引等
DML数据操纵语言,用于对表中的数据进行管理
DQL数据查询语言,用于从数据表中查找符合条件的数据记录
DCL数据控制语言,用于设置或者更改数据库用户或角色权限

 1. DDL数据定义语言

1.1 创建新的数据库

CREATE DATABASE 数据库名;

1.2  创建新的表


create database yh;
use yh;
create table yh (id int NOT NULL,name char(10) NOT NULL, score decimal(5,2), passwd char(48) DEFAULT'',PRIMARY KEY (id));

​#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。

1.3  删除指定数据表 

DROP TABLE [数据库名.]表名;       #如不用USE进入库中,则需加上数据库名

1.4 删除指定的数据库 


DROP DATABASE 数据库名;

2.DML 数据操纵语言

2.1 向数据表中插入新的数据记录


INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);
 
例:create database yh;
 
use yh;
 
create table CLASS (id int NOT NULL,name char(10) NOT NULL, score decimal(5,2), passwd char(48) DEFAULT'',PRIMARY KEY (id));
 
insert into CLASS (id,name,score,passwd) values(1,'zhangsan',99,PASSWORD('123456'));
insert into CLASS (id,name,score,passwd) values(2,'lisi',88,123456);
 
#PASSWORD('123456'):查询数据记录时,密码字串以加密形式显示:若不使用PASSWORD(),查询时以明文显示。

2.2  查询数据记录


SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
 
例:select * from CLASS;
select name,score from CLASS where id=1;

2.3  修改、更新数据表中的数据记录 

UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
 
例:insert into CLASS (id,name,score,passwd) values(3,'wangwu',77,123456);
insert into CLASS (id,name,score,passwd) values(4,'zhaoliu',66,123456);
select * from CLASS;
 
update CLASS set id=5 where name='zhangsan';
select * from CLASS;

2.4  在数据表中删除指定的数据记录 


DELETE FROM 表名 [WHERE 条件表达式];
 
例:delete from CLASS where id=5;
select * from CLASS;


--删除指定数据
DELETE FROM CLASS3 WHERE id = 1;
 
<--删除连贯数据,可以用between and-->
delete from CLASS3 where id Between 23 and 99;
 
删除id大于2的数据
delete from CLASS3 where id>2;
 
<--删除散列数据,可以用in-->
delete from CLASS3 where id in(3,5,6,8);

3.DQL数据查询语言


select name from CLASS\G         #以列表方式竖向显示
select * from CLASS limit 2;      #只显示头2行
select * from CLASS limit 2,3;    #显示第2行后的前3行

 

4. DCL数据控制语言

4.1 修改表名


ALTER TABLE 旧表名 RENAME 新表名;
 
例:alter table CLASS rename class;
show tables;
select * from class;

4.2  扩展表结构(增加字段) 

ALTER TABLE 表名 ADD address varchar(50) default '地址不详';
 
​#default ‘地址不详’:表示此字段设置默认值 地址不详;可与 NOT NULL 配合使用
 
例:alter table class add address varchar(50) default '地址不详';

4.3  修改字段(列)名,添加唯一键 

 每个表中只能由一个主键 ,但是许多内容都需要唯一性,这就是唯一键的作用

 


ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];
 
例:alter table class change name student_name varchar(20) unique key;
select * from CLASS3;
 
例:insert into class (id,student_name,score,passwd) values(1,'hh',50,10000);
select * from CLASS3;
insert into class (id,student_name,score,passwd) values(2,'hh',50,10000);

4.4   删除字段


ALTER TABLE 表名 DROP 字段名;
 
例:alter table class drop score;

 四、扩展

例:use SCHOOL;
create table if not exists CLASS4 (id int(4) zerofill primary key auto_increment,student_name varchar(20) not null,cardid varchar(18) not null unique key,hobby varchar(50));
 
desc CLASS4;

if not existsif not exists
表示若数值不满4位数,则前面用“0”填充,例0001表示若数值不满4位数,则前面用“0”填充,例0001
auto_increment  表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次
unique key    表示此字段唯一键约束,此字段数据不可以重复;一张表中只能有一个主键, 但是一张表中可以有多个唯一键
not null 表示此字段不允许为NULL

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值