MySQL数据库管理(一)

目录

1.MySQL数据库管理

1.1 常用的数据类型​编辑

1.2 char和varchar区别

2. 增删改查命令操作

2.1 查看数据库结构

2.2 SQL语言

2.3 创建及删除数据库和表

2.4 管理表中的数据记录

2.5 修改表名和表结构

3.MySQL的6大约束属性


1.MySQL数据库管理

1.1 常用的数据类型

1.2 char和varchar区别

CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同,在存储或检索过程中不进行大小写转换。

下表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:

字节大小

char无论是否有值,都会占用固定长度的字节大小,保存在磁盘上都是4字节。
varchar在保存字符时,默认会加一个隐藏的结束符,因此结束符会多算一个字节。

优劣比较

varchar比char节省磁盘空间。
但varchar类型的数据读写速度比char慢,因为char是连续的磁盘空间,·而varchar在多次增删改查中会产生一些磁盘空间碎片。

2. 增删改查命令操作

mysql -u root -pabc123   #登录数据库

2.1 查看数据库结构

(1)查看当前的 MySQL 版本信息及连接用户名

SELECT VERSION();
SELECT USER();

(2) 查看数据库

SHOW DATABASES;						#大小写不区分,分号“;”表示结束

(3) 查看数据库中包含的表

use 数据库名;   #切换库
show tables;    #查看库中的表
show tables from 数据库;     #不登录数据库,直接查看数据库中的表信息


(4)查看表的结构(字段)

use 数据库名;               #切换数据库
describe 表名               #查看数据库中的表结构信息
describe  数据库名.表名;    #不登录数据库,查看数据库中的表结构信息
可缩写成:desc 表名;



2.2 SQL语言

SQL语句用于维护管理数据库,包括数据查询、数据更新、访向控制、对象管理等功能.

SQL语言分类:

DDL: 数据定义语言,用于创建数据库对象,如库、表、索引等.

DML:数据操纵语言,用于对表中数据进行管理(增、删、改).

DQL:数据查询语言,用于从数据表中查找符合条件的数据记录.

DCL:数据控制语言,用于设置或者更改数据库用户或角色权限.

2.3 创建及删除数据库和表

(1)创建新的数据库

create database 数据库名;

(2)创建新的表

use  数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型,.....,[primary key(设为主键的字段名)]);     #主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键

(3)删除指定的数据表

use  数据库名;
drop table [数据库名].表名;           #如不用use进入库中,则需加上数据库名
drop table 


(4)删除指定的数据库

drop  database 数据库名;

2.4 管理表中的数据记录

(1)向数据表中插入新的数据记录

INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);

(2)查询数据记录

use xy101  #进入数据库
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
select * from xy102;
select name,age from xy102 where sex='男';
select * from xy102 where id>=2 and id<=3;
select * from xy102 where id=1 or id=3;
select * from xy102 limit 2;       #只显示头2行
select * from xy102 limit 1,2;    #显示第1行后的前2行(不包括第1行,也就是第2、3行)
select * from xy102\G      #以列表方式竖向显示,结尾没有分号,在Xshell中可以看到效果,在Navicat中无法实现







(3)修改、更新数据表中的数据记录

update 表名 set 字段名1=字段值1, [字段名2=字段值2]  [WHERE条件表达式1];
update xy102 set id=4 where age=24;

(3)在数据表中删除指定的数据记录

delete from 表名 [where条件表达式];
delete from xy102 where id=4;

2.5 修改表名和表结构

(1)修改表名

alter table 旧的表名 rename 新的表名
alter table xy101 rename xy110;

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

alter table 表名 add 字段 数据类型  default ' 默认值' ;
alter table xy110 add hobby varchar(40) default '和平';
#default '和平':表示此字段设置默认值,爱好不明,可与NOT NULL配合使用


(3)修改字段(列)名,唯一键

alter table 表名 change 旧列名 新列名 数据类型  [unique key];
alter table xy110 change age aage int(11) unique key;

#unique key代表唯一键,不可以添加相同值,一张表可以有多个唯一值。

(4)删除字段

alter table 表名 drop 字段名;
alter table xy110 drop hobby;

(5)添加、删除约束属性

alter table xy110 drop primary key;
alter table xy110 add primary key(name);

3.MySQL的6大约束属性

not null:非空约束

auto_increment:自增约束

案例扩展:

use mybl;
create table if not exists info (				  #表示检测要创建的表是否已存在,如果不存在就继续创建。
id int(4) zerofill primary key auto_increment,    #指定主键的第二种方式。其中int(4) zerofill表示若数值不满4位数,则前面用"0"填充,例如0001。
name varchar(10) not null default '匿名',
cardid int(18) not null unique key,
hobby varchar(50));

注意: int(N) 需要和zerofill primary配合使用,否则N的值没有意义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值