MySQL数据库(操作命令)

MySQL数据库(操作命令)

一、常用的数据类型:

int整型(无符号【0,2^32-1】,有符号【-2 ^31-1】)
float单精度浮点(4字节32位)
double双精度浮点(8字节64位)
char固定长度的字符类型
varchar可变长度的字符类型
text文本
image图片
decimal(5,2)5个有效长度数字,小数点后面2位

在这里插入图片描述

二、查看数据库结构

2.1 查看当前服务器中的数据库

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

在这里插入图片描述

2.2 查看数据库中包含的表

use 数据库;
show tables;

在这里插入图片描述

2.3 查看表的结构(字段)

use 数据库名;
describe 表名;  #describe可缩写为desc

在这里插入图片描述

三、SQL语句

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

SQL语言分类:

  • DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
  • DML:数据操纵语言,用于对表的数据进行管理
  • DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
  • DCL:数据控制语言,用于设置或者更改数据库用户或角色权限

四、创建及删除数据库和表

4.1 创建新的数据库

create database 数据库名;

在这里插入图片描述

4.2 创建新的表

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

例:
create database ysj;
use ysj;
create table yy (id int NOT NULL,name char(10) NOT NULL,score decimal(5,2),passwd char(48) DEFAULT '',primary key (id));

desc yy;

在这里插入图片描述

4.3 删除指定的数据表

drop table [数据库名.]表名;

例:drop tabel yy;

在这里插入图片描述

4.4 删除指定的数据库

drop database 数据库名;

例:
drop database ysj;

在这里插入图片描述

五、管理表中是数据记录

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

#为所有字段插入值
insert into 表名 values (所有字段的值);    #每个字段值用逗号相隔

#为指定字段插入值
inster into 表名(字段1,字段2,[,...]) values (字段1的值,字段2的值,...);
//字段的属性notnull,必须为该字段插入值
例:
1、为表中所有字段插入值,此种方式密码会以明文显示。
insert into yy values (1,'张三', 95, 123456);

2、为指定字段插入值
insert into yy (id,name,passwd) values (2,'李四', password('654321'));
#password ('654321'):查询数据记录时,密码以加密形式显示(不使用,则以明文显示)。

select * from yy;   #查询表的数据记录

在这里插入图片描述
在这里插入图片描述

5.2 查询数据记录

格式:

1、查询表中所有记录
select * from 表名;    

2、按条件查找数据记录,切值显示指定字段的值
select 字段名1,字段名2,[...]  from 表名 [where 条件表达式];

3、表中的记录时横向展示的,当字段很多时会显示混乱,可以将“;”换成“\G”,改为纵向显示每条记录。
select * from 表名\G

4、mysql的分页语句:
select * from 表名 limit 2;

5、显示第2行后的前3行(即3~5行)
select * from 表名 limit 2,3;

6、显示第20~30行的记录
select * from 表名 limit 19,11;

7、查看id值在10~20之间的数据记录
select * from 表名 id>=10 and id<=20; 

示例:

select * from yy;       //查看表中所有数据记录
select id,name,score from yy where id=2;  //查看id为2的数据记录,显示id、name、score三个字段
select id,name,score from yy where id=1 or id=2;  //查看id为1或id为2 的数据记录
select id,name,score from yy where name='张三' and score=95.50; //查看name为张三,且分数为95.50的数据记录
select * from yy\G   //以列表方式竖向显示每个字段
select * from yy limit 2;  //只显示前2行
select * from yy limit 2,3;   //显示第2行之后的前3行(3~5行)   

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3 修改数据表中的数据记录

格式:

update 表名 set 字段名1=字段值1 [where 条件表达式];

示例:

1、修改name为王五的数据记录,将密码修改为密文显示
update yy set passwd=password(' ') where name='王五';

2、修改id为3的数据记录,将score字段值改为86,passwd字段改为无值
update yy set score=86,passwd='' where id=3;

注意:修改时使用唯一性的字段作为指定条件

在这里插入图片描述
在这里插入图片描述

5.4 删除数据表中指定的数据记录


#删除一定要加条件,不然会删除整个表
delete from 表名 [where 条件表达式];   

#删除id字段值为2的数据记录
delete from yy where id=2;

在这里插入图片描述

六、修改表名和表结构

6.1 修改表名(rename)

alter table 旧表名 rename 新表名;

#将表名修改为ww
alter table yy rename ww;

#将表名修改回yy
alter table ww rename yy;

在这里插入图片描述

6.2 扩展表结构(add)

alter table 表名 add 字段名 数据类型;

#增加address字段,不允许为空值,默认为“地址不详”。
alter table yy ADD address varchar(50) not null default '地址不详';
//default '地址不详':表示此字段设置为“地址不详”,可与NOT NULL配合使用。(ADD必须大写)

在这里插入图片描述

6.3 修改字段名,添加唯一键change

change:可修改字段名、数据类型、约束等所有项。

alter table 表名 change 旧字段名 新字段名 [数据类型] [约束];
alter table yy change score phone int unique key;
//将score字段名修改为phone,数据类型修改为int整数型,添加唯一键约束

在这里插入图片描述

6.4 删除字段drop

alter table 表名 drop 字段名;

例:

alter table yy drop passwd;  //删除passwd字段

在这里插入图片描述

6.5 添加主键约束(add primary key)

方法一:创建表时设置主键

create table 表名(字段1 数据类型,字段2 数据类型,....,primary key(字段));
或
create table 表名(字段1 数据类型 primary key,.....);     //设置字段1位主键属性

方法二:在现有表中添加主键

alter table 表名 add primary key(字段名);

例:

alter table yy add primary key(id);   
//将id字段添加为主键
主键和唯一键:
  • 相同点:字段的值都唯一,不允许有重复。
  • 不同点:
1、自定义表中只能有一个主键,但是可以有多个唯一键;
2、主键字段中不允许有NULL值,唯一键允许有NULL值。
3、系统的表中可以多个唯一键

七、MySQL常见的约束

  • 主键约束:primary key
  • 自增长约束:auto_increment
  • 非空约束:not null
  • 唯一性约束:unique
  • 默认值约束:default
  • 零填充约束:zerofill
  • 外键约束:foreign key

示例:

use ysj;

create table if not exists ss (      //创建ss表
id  int(4) zerofill primary key auto_increment,   //对id字段设置零填充约束、主键约束、自增长约束
name varchar(10) NOT NULL default '匿名', // 对name字段设置非空约束、默认值约束
cardid int(18) NOT NULL unique key,   //对cardid字段设置非空约束、唯一约束
hobby varchar(50));


  • if not exists:表示检测要创建的表是否存在,如果不存在就继续创建,反之不创建;
  • int(4) zerofill:零填充约束,表示若数值不满4位数,则前面用“0”填充到4位
  • primary key:表示此字段有主见约束,此字段数据不可以重复且不允许为NULL;
  • auto_increment:
1、表示此字段为自增长字段,即每条记录自动递增1。
2、一个表中只能有一个字段使用auto_increment约束,且该字段必须有唯一索引,以避免序号重复。
3、如果不指定则默认从1开始递增;
4、 自增长字段数据不可以重复;
5、 自增长字段必须是主键;
6、如果添加的记录数据没有指定此字段的值,那么添加失败也会自动递增一次。
7、 auto_increment约束的字段只能是整数型。
  • unique key:表示字段有唯一键约束,此字段数据不可以重复;
  • not null:表示此字段不允许为NULL;
  • default ‘匿名’:表示该字段的默认值为“匿名”。

在这里插入图片描述
插入数据记录:

  1. 因为id字段设置了自增长,如果不指定id字段值,则默认从1开始递增;
insert into ss(name,cardid,hobby) values('大黄',1001,'跑步');

在这里插入图片描述

  1. 再次插入数据记录,不指定id字段值,则id值会自增1,此时为0002。
insert into ss(name,cardid,hobby) values('大白',1002,'paobu');

在这里插入图片描述
注意:
如果添加失败也会自动增长一次,数值会被占用;
若指定id值,则之后的数据会从该id值或开始增长;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值