sql 基础学习(一)

创建一个数据表

-- 目标 : 创建一个school数据库
-- 创建学生表(列,字段)
-- 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datatime),家庭住址,email
-- 创建表之前 , 一定要先选择数据库

代码如下:

CREATE TABLE IF NOT EXISTS `student` (
  `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
  `pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码',
  `sex` varchar(2) NOT NULL DEFAULT '男' COMMENT '性别',
  `birthday` datetime DEFAULT NULL COMMENT '生日',
  `address` varchar(100) DEFAULT NULL COMMENT '地址',
  `email` varchar(50) DEFAULT NULL COMMENT '邮箱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1. 关键字auto_increment是用来定义主键是自增的
    1. IF NOT EXISTS (如果不存在就创建)
    1. ENGINE=InnoDB auto_increment = 5; 在建表是设置主键的自增的起始值。不然就走默认
    1. DEFAULT这个,default是一个关键字,它用于定义列的默认值
    1. COMMENT, 添加comment属性来添加注释
    1. PRIMARY KEY (id) 主键为id,唯一值
    1. 主键(PRIMARY KEY)的又叫做“主键约束”,MySQL 主键约束是一个单独的列或者多个列的组合,其值能唯一地标识表中的一行数据。
      这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。

    例如,通过某个人的身份证号码可以唯一确定唯一一个人,那这个身份证号就是主键。
    如果通过身份证号找到两个人,但是两个人的姓名不一样。则通过”身份证号+姓名”可以确定唯一一个人,则”身份证号+姓名”的组合就是主键。

    1. MySQL的数据表的类型 : MyISAM , InnoDB , HEAP , BOB , CSV等…

    适用 MyISAM : 节约空间及相应速度
    适用 InnoDB : 安全性 , 事务处理及多用户操作数据表

    1. CHARSET=utf8 说明 创建时通过命令来设置 , 如 : CREATE TABLE 表名()CHARSET = utf8;

-- 查看数据库的定义
SHOW CREATE DATABASE school;

-- 查看数据表的定义
SHOW CREATE TABLE student;

-- 显示表结构
DESC student; -- 设置严格检查模式(不能容错了)SET sql_mode='STRICT_TRANS_TABLES';

posted @ 2023-09-15 18:50  打个大大西瓜  阅读(8)  评论(0编辑  收藏  举报