SQL笔记:MySQL基础

SQL基本语句

数据库操作

# 创建数据库
create database dbname;

# 创建字符集为UTF8的数据库
create database dbname charset=utf8;

# 切换数据库
use dbname

# 查看当前使用哪个数据库
select database();

# 删除数据库
drop database dbname;

表操作

查看当前数据库中所有表

show tables;

创建表

#格式
create tables tbname(字段1 数据类型 [完整性约束条件],字段2 数据类型 [完整性约束条件],...);

#如:
create table students(
    id int auto_increment primary key,
    name varchar(16) not null
);

删除表

drop table tbname;

查看表结构

desc tbname;

修改表

##修改表名
alter table 旧表名 rename [to] 新表名;
##或者
rename table 旧表名 to 新表名;

##修改字段名
alter table tbname change 旧字段名 新字段名 新数据类型;

##修改字段数据类型
alter table tbname modify 字段名 数据类型;

##添加字段
alter table tbname add 新字段名 数据类型 [约束条件] [first|after 已存在字段名];

##删除字段
alter table tbname drop 字段名;

##修改字段的排序
alter table tbname modify 字段名1 数据类型 first |after 字段名2

说明:
添加字段命令中,firstafter 已存在的字段名都是可选参数,first用于将新添加的字段设置为表的第一个字段,after用于将新添加的字段添加到指定的’已存在的字段名’的后面。
修改字段位置命令中,字段名1是要修改位置的字段,数据类型也是字段名1的数据类型,first与afer与上诉说明一样。

查看表创建语句

show create table tbname;

表的约束

为了防止数据表中插入错误的数据,在MYSQL中定义了一些维护数据库完整性的规则,即表的约束,针对表中字段进行限制,常见的约束条件如下:

  • PRIMARY KEY 主键约束,用于唯一标识对应的记录
  • FOREIGN KEY 外键约束
  • NOT NULL 非空约束
  • UNIQUE 唯一性约束
  • DEFAULT 默认值约束,用于设置字段的默认值

主键约束是通过primary key 定义的,它可以唯一标识表中的记录,好比身份证可以标识人的身份。
主键约束分为单字段主键(由一个字段构成的主键)和多字段主键(多个字段构成的主键):

##创建数据表,并设置id作为主键
create table example01(
    id int primary key,
    name varchar(16),
    grade float
);

##创建数据表,并设置stu_id 和course_id共同作为主键
create table example02(
    stu_id int,
    course_id int,
    grade float,
    primary key(stu_id,course_id)
);

非空约束指字段的值不能为NULL,通过not null进行定义:

##创建数据表,将name字段设置为非空
create tbale example03(
    id int primary key,
    name varchar(16) not null,
    grade float
);

唯一约束保证数据表中字段的值的唯一性,即表中字段的值不能重复出现

##创建数据表,将stu_id字段设置唯一约束
create table example04(
    id int primary key,
    stu_id int unique,
    name varchar(16) not null
);

默认约束用于将数据表中的字段指定默认值,当在表中插入数据的时候,如果没有为这个设置了默认约束的字段赋值,那么会MYSQL会自动为这个字段插入默认值,默认值通过DEFAULT关键字定义

##创建数据表,并为grade字段设置默认值为10
creare table example05(
    id int primary key,
    name varchar(16) not null,
    grade float default 10
);
    原文作者:mori_d
    原文地址: https://segmentfault.com/a/1190000019418669
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞