首页 > 数据库 >sql 基础学习(一)

sql 基础学习(一)

时间:2023-09-15 18:55:07浏览次数:39  
标签:COMMENT varchar -- 基础 学习 DEFAULT sql NULL 主键

创建一个数据表

-- 目标 : 创建一个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';

标签:COMMENT,varchar,--,基础,学习,DEFAULT,sql,NULL,主键
From: https://www.cnblogs.com/liliuyu/p/17705746.html

相关文章

  • 【从零学习python 】07.Python运算符详解:赋值、比较和逻辑运算符
    赋值运算符基本赋值运算符运算符描述实例=赋值运算符把=号右边的结果赋给左边的变量,如num=1+2*3,结果num的值为7单个变量赋值:num=10num同时为多个变量赋值(使用等号连接):a=b=4ab多个变量赋值(使用逗号分隔):num1,f1,str1=100,3.14......
  • 《信息安全系统设计与实现》第二周学习笔记
    《信息安全系统设计与实现》第二周学习笔记第九章I/O库函数系统调用系统调用函数open()read()write()lseek()close()I/O库函数fopen()fread()fwrite()fseek()fclose()I/O库函数的算法fread算法:第一次调用fread()时候,FILE结构体的缓冲区时空的,fread(......
  • 设计学习计划相关接口
        ......
  • SQL 获取当前部门、部门人员,以及它的子级
    部门及子部门( WITHRECURSIVEdeptAS( SELECTid,jgjcasname,jgbmasjgbh,sjjgbh,'JG'astypeFROMt_jgxx WHEREjgbm='111111'andisdel=0 UNIONALL SELECTd.id,d.jgjcasname,d.jgbmasjgbh,d.sjjgbh,'JG'......
  • Linux——Linux必备的基础知识总结
     文章目录一、Linux操作系统概述1、发展2、组成3、Linux的特性:二、Linux操作系统安装1、Linux的选择2、安装UbuntuDesktop3、基本操作三、Linux文件系统及文件基础1、文件系统概述2、Linux文件系统及文件3、Linux文件属性:1、普通文件2、目录文件3......
  • 设计查询学习记录接口
        ......
  • MySQL实战实战系列 01 基础架构:一条SQL查询语句是如何执行的?
    这是专栏的第一篇文章,我想来跟你聊聊MySQL的基础架构。我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于MySQL的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个ID......
  • 从零玩转系列之微信支付实战基础框架搭建
    一、前言halo各位大佬很久没更新了最近在搞微信支付,因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序进行关联,至此微信支付Native支付完成.此篇文章过长我将分几个阶段的文章发布(项目源码都有,小程序和PC端)在此之前已经更新了微信支付开篇、微信支付安全、本......
  • Qemu源码分析(2)—Apple的学习笔记
    一,前言最近从main开始看了opt参数相关的解析,这个比较简单我就不写了,然后当时我搞不清楚的是MachineClass和TypeImpl类的关系。本节主要分析的其实就是分析machine_class怎么来的,其实也就是machine_class=select_machine();二,源码分析关于mc的来历type_initialize中ti->class->ty......
  • CentOS 7.6安装MySQL8
    下载yum源yuminstall-ywgetwgethttps://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm安装yum源rpm-ivhmysql80-community-release-el7-5.noarch.rpm安装MySQLyuminstall-ymysql-server启动mysql服务systemctlstartmysqld查看......