加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (https://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql中数据库怎么建库建表

发布时间:2022-10-21 14:02:58 所属栏目:MySql教程 来源:未知
导读: 数据库操作命令
本博客记录了,创建数据库,数据表的最基本操作,手把手教你如何入门Mysql,基础的创建数据库,数据表的注意事项,以及一些禁忌。
首先数据库是不区分大小写的,但是它对空格

数据库操作命令

本博客记录了,创建数据库,数据表的最基本操作,手把手教你如何入门Mysql,基础的创建数据库,数据表的注意事项,以及一些禁忌。

首先数据库是不区分大小写的,但是它对空格已经中文下的字符很敏感,空格不要乱敲,一定要在英文下写标点符号。

创建表之前一定要进入到库里,否则是创建不出来表的。

编码格式默认是utf-8,如果公司有特殊需求,也可以更改。

数据库基础

创建库:create database 库名

在这里插入图片描述

查询库:show databases;

在这里插入图片描述

删除库:drop database 库名

在这里插入图片描述

修改库,只能修改编码格式:character set utf-8;

查询当前使用的库:select database();

在这里插入图片描述

切换数据库:use 库名;

创建数据表

在这里插入图片描述

创建表

create table 表名(

列名 数据类型(长度) [约束],

列名2 数据类型(长度) [约束],

列名3 数据类型(长度) [约束]

);

数据类型:

整型

int , 长度固定11

浮点型

double 长度(总长,其中小数个数)(5,2) 999.99√ 10000.0× 1.1√

float

字符型

char 定长字符,长度0-255, ‘张三 ’

varchar 可变长字符 ‘张三’

text 主要存储大文本数据

字节型

blob 字节类型,适合存图像等

日期型

date 日期,不需要指定长度

time 时间,不需要指定长度

datetime 日期时间,不需要会指定长度

timestamp 时间戳,时间会自动改变

约束:

约束就是对列数据的约束。

主键约束(primary key)

设置主键的列,其中的值不能重复,且不能为空.

主键的作用:主键是索引,通过主键查询数据效率极高.

自增约束(auto_increment)

自增约束.一般配合主键一起使用

例:id int primary key auto_increment,

唯一约束(unique)

该列的值不能重复

例:name varchar(10) unique

不能为空 (not null )

例:id int not null,

默认值(default)

当赋值时,不给值.就会赋默认值.

例:id int default 0,

引用完整性约束–>外键

创建外键的方式

1 在建表时直接指定

在引用了别的表字段的表中添加外键约束

constraint 外键名 foreign key(当前表字段) references 其他表(字段)

2 建好表后再指定

alter table 表名 add constraint 外键名 foreign key (字段) references 其他表(字段)

例图

设计了外键后,课程表中的sid字段就与学生表的sid字段有联系.
父表: stu表 (被引用的表)
子表: course表 (引用表)
插入时:
	学生表可以随意插入值
	课程表插入值时,sid字段只能插入学生表中有的sid值
删除或更新时:
	RESTRICT: 如果想要删除/更新父表的记录,子表中有关联该父表记录的,则不允许删除父表记录
	NO ACTION: 同restrict一样,删除时先检查外键.如果有引用,不能删除
	CASCADE: 级联,父表删除/更新时,如果有子表有关联,那么子表父表数据一起删除/更新
    SET NULL: 置空,父表删除/更新时,如果子表有关联,那么子表该条记录置为null

查看表的字段信息

desc 表名;

在这里插入图片描述

更新表字段-添加列

alter table 表名 add 列名 数据类型(长度);

在这里插入图片描述

更新表字段-删除列

alter table 表名 drop 列名;

在这里插入图片描述

更新列名

alter table 表名 change 旧列名 新列名 数据类型(长度);

在这里插入图片描述

更新表名

rename table 旧表名 to 新表名;

在这里插入图片描述

条件查询:

selet 字段1 ,字段2,字段3,… from 表名 where 条件;

模糊查询:

select *(也可是字段) from 表名 where 字段 like %值%;

模糊匹配符号
		%,匹配任意个数的任意字符
		—_,匹配任意一个字符
例:-- 查询姓名以“张”开头的学生记录
select * from stu where sname like '张%';
	-- 查询姓名中包含“三”的学生记录
select * from stu where sname like '%三%';

排序查询:

select * from 表名 order by 字段 排序类型;

排序类型:
	升序  asc    
	降序	desc 
注意:如果后面省略了排序类型,默认就是升序
			order by 放在where 后面

聚合函数:

将多行数据计算成一行返回

语法:

select 聚合函数(字段)from 表名 where 条件;

聚合函数:

count(字段) 计数,计算该列不为空(null)的数据个数

sum(字段) 求和 数字求和不计算null值

avg(字段) 平均值创建数据库表,不为nul进行平均

max (字段) 最大值

min(字段) 最小值

特点:

聚合函数放在 select和from之间

凡是和聚合函数一起出现的字段,要出现在group by后面

	--> 如果没有group by,那么普通字段就不能与聚合函数一起出现

======================================

what? 给查询字段取别名,该别名可用于在虚拟表字段

how? select 字段 as 别名,字段 as 别名,…from 表名

as一般省略

拓展小知识

查看创建表的语句

show create table 表名;

在这里插入图片描述

有请各位大佬指教

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!