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

mysql中数据库怎么建库建表

发布时间:2022-10-27 12:45:33 所属栏目: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 表名;
 
  在这里插入图片描述
 
  有请各位大佬指教
 

(编辑:海洋资讯信息网)

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