Mysql学习总结

数据库的创建

create database database_name;
show databases;       ##查看数据库##

数据表的创建

use database_name;
create table db_table(
    id int(11) primary key,
    name varchar(25),
    dep_id int(11),
    salary float(8,2)
);
show create table table_name:
desc table_name;

常用的数据类型

1.对于编码id的数据常用int(对应位数)
2.对于个人名称,部门名称,公司名称常用varchar(确定较大的位数)
3.对于数值型数据如收入,人数,体重,身高常用float(8,2)
4.对于精度更高的数值型数据如经纬度,仪器数据double(M,D),decimal(M,D)
5.对于时间数据常用DATETIME:YYYY-MM-DD HH:MM:SS
6.对于时间戳数据如股市数据用TIMESTAMP 20170915153000
7.对于选择有限的数据如性别可以使用ENUM('MALE','FEMALE')

主键约束

主键约束要求主键所在列唯一且非空,保证每行的唯一性。
主键的组成形式包括:1.使用某一列作为主键,2.使用组合列作为主键(例如将职工姓名列+职工部门id列组合)

create table employee(
    id int(11) primary key
    );

外键约束

外键所设置的表称为从表,外键对应主表的主键。一个表中可以存在多个外键。

create table deposite(
    d_id int primary key not null auto_increment,
    c_id char(6),
    b_id char(5),
    dep_date date,
    dep_type char(1),
    amount decimal(8,2),
    constraint fk_cid foreign key(c_id) references customer(c_id),
    constraint fk_bid foreign key(b_id) references bank(b_id)
);

非空约束

有些列必须要有数据的输入,所以在表格设置的时候,得使用非空约束。

create table tb_emp(
    id int(10) primary key,
    name varchar(20) not null,
    depid int(10),
    salary float
    constrain fk_emp_dept foreign key(depid) references tb_dept(id)

唯一性约束

除了主键列外,还需要一些列保存一些具有唯一性的列,使用关键词UNIQUE。

create table tb_dept(
    id int(10) primary key,
    dep_name varchar(20) unique, # 部门名称不能重复
    salary float
    );

默认约束

有些数据当为空值时,有默认值代替。

create table tb_emp(
    id int(10) primary key,
    name varchar(50) not null,
    sex varchar(10) default 'male'
    );

自动增长约束

例如编号id每一行都会自动增长1。

create table tb_emp(
    id int(10) primary key auto_increment,
    name varchar(20) not null,
    sex enum('male','female'),
    depid int(10)
    constrain fk_emp_dept foreign key(depid) references dept(id)

修改已经存在表的结构

修改表中的列名,修改表中列的类型
在表中添加一个列(可设定该列排放位置),在表中删除一个列
使用alter命令:rename修改表名,modify(修改字段),change(改变字段),ADD添加字段,DROP删除字段

alter table tb_dept rename tb_department; 修改表名
alter table tb_dept modify name varchar(30);仅修改字段数据结构,不可改列名
alter table tb_dept modify name varchar(30) first;还可以修改字段在表中的排序位置
desc tb_dept; 查看表各字段结构
alter table tb_dept change location loc varchar(30);既可以改列名又可以更改字段的数据结构
alter table tb_department ADD managerId int(10) not null first; 增加一个字段
alter table tb_department drop column2;删除一个字段
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值