mysql必备小知识_MySQL必备的常见知识点汇总整理

本文实例总结了MySQL必备的常见知识点。,具体如下:

最近在整理 sql 的时候发现一份优秀的笔记,是原作者学习 sql 所做的笔记,分享这份总结给大家,对大家对 sql 的可以来一次全方位的检漏和排查,感谢原作者 hjzCy 的付出,原文链接放在文章最下方,如果出现错误,希望大家共同指出!

登录和退出 MySQL 服务器

# 登录MySQL

$ mysql -u root -p12345612

# 退出MySQL数据库服务器

exit;

基本语法

-- 显示所有数据库

show databases;

-- 创建数据库

CREATE DATABASE test;

-- 切换数据库

use test;

-- 显示数据库中的所有表

show tables;

-- 创建数据表

CREATE TABLE pet (

name VARCHAR(20),

owner VARCHAR(20),

species VARCHAR(20),

sex CHAR(1),

birth DATE,

death DATE

);

-- 查看数据表结构

-- describe pet;

desc pet;

-- 查询表

SELECT * from pet;

-- 插入数据

INSERT INTO pet VALUES ('puffball', 'Diane', 'hamster', 'f', '1990-03-30', NULL);

-- 修改数据

UPDATE pet SET name = 'squirrel' where owner = 'Diane';

-- 删除数据

DELETE FROM pet where name = 'squirrel';

-- 删除表

DROP TABLE myorder;

建表约束

主键约束

-- 主键约束

-- 使某个字段不重复且不得为空,确保表内所有数据的唯一性。

CREATE TABLE user (

id INT PRIMARY KEY,

name VARCHAR(20)

);

-- 联合主键

-- 联合主键中的每个字段都不能为空,并且加起来不能和已设置的联合主键重复。

CREATE TABLE user (

id INT,

name VARCHAR(20),

password VARCHAR(20),

PRIMARY KEY(id, name)

);

-- 自增约束

-- 自增约束的主键由系统自动递增分配。

CREATE TABLE user (

id INT PRIMARY KEY AUTO_INCREMENT,

name VARCHAR(20)

);

-- 添加主键约束

-- 如果忘记设置主键,还可以通过SQL语句设置(两种方式):

ALTER TABLE user ADD PRIMARY KEY(id);

ALTER TABLE user MODIFY id INT PRIMARY KEY;

-- 删除主键

ALTER TABLE user drop PRIMARY KEY;

唯一主键

-- 建表时创建唯一主键

CREATE TABLE user (

id INT,

name VARCHAR(20),

UNIQUE(name)

);

-- 添加唯一主键

-- 如果建表时没有设置唯一建,还可以通过SQL语句设置(两种方式):

ALTER TABLE user ADD UNIQUE(name);

ALTER TABLE user MODIFY name VARCHAR(20) UNIQUE;

-- 删除唯一主键

ALTER TABLE user DROP INDEX name;

非空约束

-- 建表时添加非空约束

-- 约束某个字段不能为空

CREATE TABLE user (

id INT,

name VARCHAR(20) NOT NULL

);

-- 移除非空约束

ALTER TABLE user MODIFY name VARCHAR(20);

默认约束

-- 建表时添加默认约束

-- 约束某个字段的默认值

CREATE TABLE user2 (

id INT,

name VARCHAR(20),

age INT DEFAULT 10

);

-- 移除非空约束

ALTER TABLE user MODIFY age INT;

外键约束

-- 班级

CREATE TABLE classes (

id INT PRIMARY KEY,

name VARCHAR(20)

);

-- 学生表

CREATE TABLE students (

id INT PRIMARY KEY,

name VARCHAR(20),

-- 这里的 class_id 要和 classes 中的 id 字段相关联

class_id INT,

-- 表示 class_id 的值必须来自于 classes 中的 id 字段值

FOREIGN KEY(class_id) REFERENCES classes(id)

);

-- 1. 主表(父表)classes 中没有的数据值,在副表(子表)students 中,是不可以使用的;

-- 2. 主表中的记录被副表引用时,主表不可以被删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值