Python MySql 表 基础笔记1

 

数据库的创建和删除
CREATE DATABASE 数据库名;创建数据库
SHOW databases;查看数据库列表
USE 数据库名;选择数据库,使用前必须先选择数据库
DROP DATABASE 数据库名;删除数据库

 

表的创建
CREATE TABLE [IF NOT EXISTS]  表名()

创建表格()中写字段及字段属性

`字段名` 属性及约束 COMMENT'注解'字段名使用数字1键左边的符号引起,可以省略,为了区别关键字加上``,注解先写COMMENT后用引号引起
SHOW  tables;查看表列表,使用前先选择数据库
DESCRIBE 表名;查看表定义,使用前先选择数据库
DROP TABLE [IF  EXISTS] 表名;删除表,使用前先选择数据库,IF EXISTS语句验证表是否存在

表中字段用  ,  隔开,最后一个字段尾部不能使用  ,

表格中主键最多有一个,可以不设,外键必须和主键属性一样

表格的修改
ALTER TABLE 旧表名 RENAME [TO]  新表名;修改表名
ALTER TABLE 表名 ADD 字段名  数据类型  [属性];添加字段
ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];修改字段
ALTER TABLE 表名 DROP 字段名;删除字段

ALTER TABLE 表名

ADD CONSTRAINT 主键名

PRIMARY KEY 表名(主键字段);

添加主键

ALTER TABLE 表名                                      #修改从表

ADD CONSTRAINT 外键名                          #添加的约束名称

FOREIGN KEY(外键字段)                       #约束类型,从表中的字段名

REFERENCES 关联表名(关联字段);      #关联的主表(主键)

添加外键
字段常用约束及属性
NOT NULL非空约束,字段不允许为空取值范围
DEFAULT默认约束,赋予某字段默认值 
UNIQUE KEY(UK)唯一约束, 设置字段的值是唯一的  允许为空,但只能有一个空值 
PRIMARY KEY(PK)主键约束,设置该字段为表的主键 可唯一标识该表记录 
FOREIGN KEY(FK)外键约束,用于在两表之间建立关系,  需要指定引用主表的哪一字段 
AUTO_INCREMENT自动增长,设置该列为自增字段  默认每条自增1  通常用于设置主键 
CHAR[(M)]定长字符串,M字节 
VARCHAR[(M)]可变字符串,可变长度 
ZEROFILL宽度(位数)不足以0填充 
UNSIGNED标识为无符号数 
DATEYYYY-MM-DD,日期格式1000-01-01~ 9999-12-31
DATETIMEYY-MM-DD  hh:mm:ss:

1000-01-01~9999-12-31

00:00:00 ~23:59:59

TIMEhh:mm:ss:-835:59:59 ~ 838:59:59
TIMESTAMPYYYYMMDDHHMMSS1970年某时刻~2038年某时刻,精度为1秒
YEARYYYY格式的年份1901~2155

CREATE TABLE `学生表`(

        `学号` INT(4) NOT NULL COMMENT '学号' PRIMARY KEY,
`密码` VARCHAR(20) NOT NULL COMMENT '密码',  
`学生姓名` VARCHAR(50) NOT NULL COMMENT '学生姓名',
`性别` CHAR(2) DEFAULT '男' NOT NULL  COMMENT '性别', 
`年级编号` INT(4)  UNSIGNED COMMENT '年级编号', 
`联系电话` VARCHAR(50)  COMMENT '联系电话',
`地址` VARCHAR(255)  DEFAULT '地址不详'COMMENT '地址',
`出生时间` DATE  COMMENT '出生时间',
`e-mail` VARCHAR(50) COMMENT'邮件账号',
`身份证号` VARCHAR(18)  UNIQUE KEY COMMENT '身份证号'
) COMMENT='学生表';


CREATE TABLE `年级表`(
`年级编号` INT(4)  UNSIGNED COMMENT '年级编号' PRIMARY KEY,
`年级名称` VARCHAR(50) NOT NULL COMMENT '年级名称'
) COMMENT='年级表';
CREATE TABLE `课程表`(
`课程编号` INT(4) NOT NULL AUTO_INCREMENT COMMENT '课程编号' PRIMARY KEY,
`课程名称` VARCHAR(50) COMMENT '课程名称',
`学时` INT(4) COMMENT '学时',
`年级编号` INT(4)  UNSIGNED COMMENT '年级编号'
) COMMENT='课程表';


CREATE TABLE `成绩表`(
`学号` INT(4) NOT NULL COMMENT '学号', 
`课程编号` INT(4) NOT NULL COMMENT '课程编号', 
`考试日期` DATETIME NOT NULL COMMENT '考试日期',
`考试成绩`INT(4) NOT NULL COMMENT '考试成绩'

) COMMENT='成绩表';

 

#显示全部表格

SHOW TABLES

#添加外键

ALTER TABLE  `学生表`#修改从表
ADD CONSTRAINT `外键_年级编号`#添加的约束名称
FOREIGN KEY (年级编号)#约束类型,从表中的字段名
REFERENCES 年级表(年级编号);#关联的主表(主键)


ALTER TABLE  `课程表`#修改从表
ADD CONSTRAINT `外键_年级编号2`#添加的约束名称
FOREIGN KEY (年级编号)#约束类型,从表中的字段名
REFERENCES 年级表(年级编号);#关联的主表(主键)

#同主键做外键不能同名

ALTER TABLE  `成绩表`#修改从表
ADD CONSTRAINT `外键_学号`#添加的约束名称
FOREIGN KEY (学号)#约束类型,从表中的字段名
REFERENCES 学生表(学号);#关联的主表(主键)


ALTER TABLE  `成绩表`#修改从表
ADD CONSTRAINT `外键_课程编号`#添加的约束名称
FOREIGN KEY (课程编号)#约束类型,从表中的字段名
REFERENCES 课程表(课程编号);#关联的主表(主键)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值