MySQL基本语句--自学总结

Mysql基本语句–自学总结

1、查看现有数据库

show databases;

2、创建库、删除库

-- 创建库
CREATE DATABASE 数据库名;
-- 删除库
drop database 数据库名;

3、切换数据库

use 数据库名;

4、创建表、删除表

-- 创建表
create table 表名(
列名1 数据类型,
列名2 数据类型
...
);
-- 删除表
drop table 表名;
-- 删除多表
drop table 表名1,表名2..;

5、修改表

-- 添加列:
alter table 表名 add 属性名 数据类型;
-- 删除列
alter table 表名 drop 属性名;
-- 修改列的数据类型
alter table 表名 modify 列名 新的数据类型;
-- 修改列名:
alter table 表名 change 旧字段名 新字段名 数据类型;

6、显示表结构

desc 表名;

7、主键约束

(唯一、不重复、不能为空 primary key 一个表中有且只有一个主键约束)

**-- 创建表的同时创建主键约束**
-- 格式一:
create table 表名(
列名 数据类型 primary key,
列名2 数据类型
);
-- 格式二:  主键约束名字的写法:PK_列名
create table 表名(
列名1 数据类型,
列名2 数据类型,
constraint 主键约束的名字  primary key(列名1)
),
-- 格式三:
create table 表名(
列名1 数据类型,
列名2 数据类,,
primary key(列名)
);

**-- 针对已经存在的表,添加主键约束**
-- 格式一:
alter table 表名 modify 列名 数据类型 primary key;
-- 格式二:
alter table 表名 add primary key(列名);
-- 格式三:
alter table 表名 add constraint 主键约束的名字 primary key (列名);

**-- 删除主键约束**
alter table 表名 drop primary key;

-- **联合主键**:指的是把两个列看成是一个整体,这个整体是不为空,唯一,不重复
-- 创建表的同时创建联合主键
-- 格式一:主键约束名字的写法:PK_列名
create table 表名(
列名1 数据类型,
列名2 数据类型,
constraint 主键约束的名字  primary key(列名1,列名2)
);
-- 格式二:
create table 表名9
列名1 数据类型,
列名2 数据类型,
primary key9列名1,列名2)
);

8、唯一约束

(1)、不允许有重复的值,保证数据的唯一性
(2)、可以有空值
(3)、在一个表中可以有多个唯一约束
(4)、默认情况下,唯一约束名字和列名保持一致
(5)、添加唯一约束的列,系统也会默认给这个列添加一个唯一索引

-- 创建表的同时创建唯一约束  UN_列名
-- 格式一:
create table 表名(
表名一 数据类型,
列名2 数据类型,
constraint 唯一约束名字 unique (列名1)
);

-- 格式二
create table 表名(
表名一 数据类型 unique,
列名2 数据类型 unique,
列名3 数据类型
);
-- 一个表中可存在多个约束

-- 针对已经存在的表,添加唯一约束
alter table 表名 add unique (列名,[列名2]);
例:ALTER TABLE student add UNIQUE (学号,姓名);

-- 删除唯一约束
alter table 表名 drop index  唯一约束的名字;

9、默认约束

(default 当默认约束来修饰某个列的时候,修饰的列即使不写数据也会默认一个值)

-- 创建表的同时创建默认约束
create table 表名(
列名1  数据类型 default '字符串类型或者日期类型的默认值',
列名2 数据类型 default 数值,
列名3 数据类型
);

-- 针对已经存在的表,添加默认约束
alter table 表名 modify 列名 数据类型 default '值';

-- 删除默认约束
alter table 表名 modify 列名 数据类型;

10、非空约束

(not null 当前列必须有值)

-- 在创建表的同时创建非空约束
create table 表名(
列名1 数据类型 not null,
列名2 数据类型 not null,
);

-- 针对已存在的表,添加非空约束
alter table 表名 modify 列名 数据类型 not null;

-- 删除非空约束
alter table 表名 modify 列名 数据类型;

11、外键约束

foreign key
注意:
外键约束是建立在从表;
当从表的列参照主表的列,列名可以不一样,但是列里面的数据类型和内容要保持一致;
从表引用主表的列,要求主表的列必须有主键约束或者唯一约束;
当主表的数据,被从表引用,主表的数据是没办法进行删除;
当从表中的数据想做操作的时候,先询问主表的意见,主表有的,运行从表操作,主表没有,拒绝从表操作。

-- 创建表的同时创建外键约束
--主表(接下来再创建表的时候,要参照的表)
create table 主表(
列名1 数据类型 primary key,
列名2 数据类型
);
-- 从表(外键约束所在的表)  FK_列名
create table 从表表名(
列名1 数据类型,
列名2 数据类型,
constraint  外键约束的名字 foreign key (从表的列名1) references 主表表名1(主表的列名1)
);
-- 注意:关于引用的列的要求是:从表的列和主表的列,列名可以不一样,但数据类型和内容必须保持一致。

-- 针对已存在的表,添加外键约束
alter table 从表表名 add constraint 外键约束的名字 foreign key (从表的列名1)references 主表表名(主表的列名);


-- 删除外键约束
alter table 表名 drop foreign key 外键约束的名字;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值