数据库和表的基本操作

目录

数据库基本操作

查询所有存在的数据库(此时是查询多个数据库,所以后面有s)

创建数据库(test_db数据库名)

删除数据库(mysql不会给出任何提醒,数据将不能被恢复!!!)

选择创建表的数据库

表的基本操作

创建表(create)

删除表(drop)

查看改数据库里面的表(注意加s)

查询表结构

约束

主键约束

外键约束

非空约束(Not Null Constraint)

唯一性约束(Unique Constraint) 一列只能有一个空值

默认约束

设置表中属性自动增加

修改表名

更改表的存储引擎

对字段的操作集合

修改字段名的数据类型(modify)

修改字段名(change) 也可以用来改变字段类型 字段类型不能为空

添加字段(add)

删除字段(drop)

修改字段的排列位置(modify) 改变字段的数据类型必须加 after后面字段的数据类型不用加


数据库基本操作

查询所有存在的数据库(此时是查询多个数据库,所以后面有s)

show databases;

创建数据库(test_db数据库名)

create database test_db;

删除数据库(mysql不会给出任何提醒,数据将不能被恢复!!!)

drop database test_db;

选择创建表的数据库

use test_db;

注意,在控制台输入mysql语句是后面要加分号

表的基本操作

创建表(create)

create table test_table
(
    id int(11),
    name    varchar(10),
    age int(11)
);

删除表(drop)

删除被其他表关联的主表时直接删除父表会显示失败,得先解除关系,或者先删除子表

drop table 表1,表2...
drop table if exists emmp         #加上参数后,如果表不存在,可以正常运行,但是会发出警告

查看改数据库里面的表(注意加s)

show tables;

查询表结构

desc test_table;        #是describe的缩写
describe test_table;
show create table test_table;   #可以查看创建表时候的语句,同时还可以查看引擎
show create table test_table\G  #在控制台使用

约束

主键约束

主键:用来标识唯一的一条记录,同时和外键配合使用,要求主键列的数据唯一,同时不为空,

#单字段主键
create table testa
(
  id int(11) primary key,
    name varchar(10),
    age int(3)
)
create table testb
(
  id int(11),
    name varchar(10),
    age int(3),
    primary key(id)
)
#多字段联合主键
create table testc
(
  id int(11),
    name varchar(10),
    age int(3),
    primary key(id,name)
)

外键约束

1.外键:用来在两个表的数据之间建立链接,可以是一列或者多列

2.一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个主键表中的某个值

3.可以不是主键,但对应另一个表中的主键

4.定义外键后,不能删除另一个表中的关联行

5.外键不能跨引擎!!!

     主表(父表):相关联字段中主键所在表

    从表(子表):相关联字段中外键所在表

create table dep
(
   id int(11) primary key,
     name varchar(10),
   location varchar(50)
)
​
create table emp
(
  id int(11) primary key,
    name varchar(10),
    depId int(11),
    salary float,
    constraint fk_emp_dep foreign key(depId) references dep(id)
)

删除表的外键约束(drop) 所以取外键约束名的时候要规范!!!

alter table 表名 drop foreign key 外键约束明
alter table emp drop foreign key fk_emp_dep
show create table emp                 #可以使用这句查看外键是否存在,和外键名
show create table emp\G               #建议使用这句才命令提示符上面查看,清楚一点

非空约束(Not Null Constraint)

name varchar(10) not null

唯一性约束(Unique Constraint) 一列只能有一个空值

name varchar(10) unique

默认约束

name varchar(10) default '老王',

设置表中属性自动增加

id int(11) primary key auto_increment

修改表名

alter table  旧表名 rename 新表名
alter table  testa rename testgg

更改表的存储引擎

alter table 表名 engine=更改后的引擎名
alter table testgg engine=myisam

对字段的操作集合

修改字段名的数据类型(modify)

alter table 表名 modify 字段名 字段类型
alter table testgg modify age varchar(3)

修改字段名(change) 也可以用来改变字段类型 字段类型不能为空

alter table 表名 change 就字段名 新字段名 新数据类型
alter table testgg change age ages int(3)

添加字段(add)

alter table 表名 add 字段名 类型 
alter table testgg add salary float                  #新加字段默认放在最后一列
alter table testgg add salary1 float first           #表示加入的字段放在第一列
alter table testgg add salary2 float after salary1   #表示加入的字段放在salary1的后面那一列

删除字段(drop)

alter table 表名 drop 字段名
alter table testgg drop salary1

修改字段的排列位置(modify) 改变字段的数据类型必须加 after后面字段的数据类型不用加

alter table 表名 modify  字段名 数据类型 
alter table testgg modify ages varchar(3) first
alter table testgg modify ages varchar(3) after id  #id后面不能加数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值