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
说明:
添加字段命令中,first
和after 已存在的字段名
都是可选参数,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
);