MySQL之基础语句


一、常用的数据类型

类型解释举例
int整型用户定义整数类型的数据(1、2、3、4、5…)
fliat单精度浮点(4字节32位)准确表示小数点后6位
double双精度浮点(8字节64位)小数位更多,更精确
char固定长度的字符类型定义字符长度(存的少,会补空格,存的多被截取,高版本报错)
varchar可变长度的字符类型定义字符最大长度(存的少,总长度变小,存的大于最大,报错)
text文本
image图片
decimal(5,2)总共5个有效长度数字,小数点后面有两位

char和varchar的区别

  • **char:**如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本被截取,高版本会报错
  • **varchar:**如果存入的数据实际长度比指定长度要小,那么指定长度会变成实际长度一样,如果存入的数据的实际长度大于指定长度,会报错

截取和截断的区别
截取会对后一位进行四舍五入,截断直接获取要的数字,不进行四舍五入


二、数据库管理

SQL语言分类

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

1.MySQL基础语句操作

1.1登录数据库

mysql -uroot -pngs123     #直接登录数据库,用-P输入密码,这样不安全
mysql -uroot -p     #登录数据库,不输入密码,回车之后再输入

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

1.2查询数据库结构

show databases;     #查看有多少数据库
use mysql;          #进入一个数据库中
show tables;        #查看该数据库中有多少个表

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

1.3查看表的结构

describe db;    #查看db表的结构(可缩写位desc db;)

在这里插入图片描述

2.DDL语句:定义数据中的操作

DDL语句可用于创建数据库对象(库、表、索引)
删除数据库和表

2.1创建数据库和表-create

CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
create database nba;     #创建一个名为nba的数据库
create table star (id int(10) not null,name int(3) not null,time decimal(4,2),score decimal(3,1),backboard decimal(3,1),secondary decimal(3,1),address varchar(20) default '0',primary key (id));    #创建一张名为star的表,(定义id不为空,名字不为空,默认值为0,主键为id)
create table nba.star (id int(10))    #在任意库中创建nba库中的star表

创建一个名为nba的数据库,并查看数据库
在这里插入图片描述
进入创建的数据库中,查看数据库中的表,为空
在这里插入图片描述
在数据库中创建名为star的表

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

2.2删除数据库和表-drop

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

删除数据库
在这里插入图片描述
删除表
在这里插入图片描述
在这里插入图片描述

3.DML语句:管理表中的数据记录

3.1插入数据-insert

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

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

操作实例

在nba1库中创建star这张表,要求字段为:id,name,time,score,backboard,secondary,address
要求:id为主键,除了address之外其他字段不能为空,address可以为空,且默认为los Angeles

create database nba1;    #创建库
create table star (id int(3) not null primary key,name varchar(40) not null,time decimal(3,1) not null,score decimal(3,1) not null,backboard decimal(3,1) not null,secondary decimal(3,1) not null,address varchar(30) default 'los Angeles');
#创建表
insert into star values(24,'kobe',41.2,32.6,9.8,4.5,'los Angeles');    #插入数据
select * from star;    #查看

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

3.2更新原有数据-update

update 表名 set 字段1=字段值1,字段2=字段值10 where 表达式;
update star set time=40.5,secondary=3.8 where name='ONeal';
#把name为ONeal的行中,time改为40.5,secondary改为3.8
update star set backboard=13.5 where id>30;
#将id大于30的,backboard改为13.5

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

3.3删除不需要的数据(表内容)-delete

格式:delete from 表名 where 条件表达式;
delete from star where name='yeyan'

在这里插入图片描述

4.DQL语句:查询数据记录-select

格式:select 字段1,字段2 from 表名 【where 条件表达式】;

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

5.DCL语句:数据控制语言-alter

aliter:修改表名称或表结构
格式:alter table 旧表名 rename 新表名;

在这里插入图片描述

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

alter table 表名 add age int(3) default 'unknow';

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

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

alter table 表名 change 旧列名 新列明 数据类型 {unique key}
unique key:唯一键(特性,唯一,但可以为空,空值只允许出现一次)
primary key :主键(唯一且非空)

在这里插入图片描述

5.3删除字段

alter table 表名 drop 字段名;

在这里插入图片描述


三、了解约束

create table if not exists info (id int(4) zerofill primary key auto_increment,name varchar(10) not null,cardid int(18) not null unique key,hobby varchar(50));

if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建。
int(4) zerofill:表若数值不满4位数,则前面用“0”填充,例0001。
auto_increment: 表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可重复,自增长字段必须是主键,如添加的距离数据没有指定字段的值且添加失败也会自动递增一次。
unique_key : 表示此字段唯一约束,此字段数据不可以重复,一张表中只能有一个主键,但是一张表中可以有多个唯一键。
not null : 表示此字段不允许为NULL。

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


总结

SQL语言的分类

DDL:数据定义语言,用于创建和删除数据库表等操作
create (创建)、drop(删除)

DML:数据操纵语言,用于管理表中的记录,对数据进行增、删、改的操作
insert(插入)其中有into(插入)、selete(删除)、update(改)其中为set(修改)

DQL:数据查询语言,主要用来查询数据库中的记录
select(查看)

DCL:数据控制语言,用来针对字段属性的增、删、改增操作

alter(修改字段),其中有add(添加)、change(修改)、drop(删除)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值