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字段设置默认值为10creare table example05(    id int primary key,    name varchar(16) not null,    grade float default 10);