这个是我整理的经常使用的MySQL单表语句,若有错误欢迎指正面试
查询当前正在使用的数据库数据库
select database();安全
展现全部数据库spa
show databases;code
展现当前数据库全部的表对象
show tables;ip
修改表(注意:后面是有table关键字的,可是DML没有table关键字)rem
添加字段: alter table 表名 add 字段名 约束it
修改字段: alter table 表名 modify 字段名 约束io
重命名字段:alter table 表名 change 旧字段 新字段 约束
删除字段: alter table 表名 drop 字段名
重命名表: rename table 表名 to 新表名
插入记录:insert
insert into 表名 (字段1,字段2,字段3..) values (值1,值2,值3..);
insert into 表名 values (值1,值2,值3..); //括号中的值必须和字段一一对应
更新记录:update
update 表名 set 字段名=值,字段名=值,... where 条件; //为了方便记忆,能够把set理解成集合
删除记录:delete
delete from 表名 【where 条件】; //若是不添加条件则删除整个表的记录
或
truncate table 表名;
面试题:
删除表中全部记录使用deletefrom 表名, 仍是用truncate table 表名?
删除方式:delete 一条一条删除,不清空auto_increment记录数。
truncate 直接将表删除,从新建表,auto_increment将置为零,重新开始。
删除表:drop
drop table 表名;
添加主键(三种方式添加,两种在建立表时添加,最后一种是修改表结构)
方式一:
CREATE TABLE Persons
(
Id_P int PRIMARY KEY
,
LastName varchar(255),
FirstName varchar(255),
)
方式二:建立表时,在constraint约束区域,声明指定字段为主键:
CREATE TABLE Persons
(
Id_P int,
FirstName varchar(255),
LastName varchar(255),
CONSTRAINTpk_PersonID PRIMARY KEY (
Id_P)
)
方式三:建立表以后,经过修改表结构,声明指定字段为主键:
ALTER TABLE Persons ADD [CONSTRAINT
名称] PRIMARY KEY (字段列表)
删除主键:
alter table 表名 drop primary key;
删除惟一约束:
alter table drop index 字段名称;
自动增加列(前提必须是数值类型)
CREATE TABLE Persons
(
P_Id int PRIMARY KEY AUTO_INCREMENT,
LastName varchar(255),
FirstName varchar(255),
)
默认AUTO_INCREMENT 的开始值是 1,若是但愿修改起始值,则
ALTER TABLE Persons AUTO_INCREMENT=100
非空约束
CREATE TABLE Persons
(
Id_P int NOT NULL
,
LastName varchar(255) NOT NULL
,
FirstName varchar(255),
)
惟一约束:
三种方式:
方式1:建立表时,在字段描述处,声明惟一:
CREATETABLE Persons
(
Id_P int UNIQUE
,
LastNamevarchar(255) NOT NULL,
FirstNamevarchar(255),
)
方式2:建立表时,在约束区域,声明惟一:
CREATE TABLEPersons
(
Id_P int,
LastNamevarchar(255) NOT NULL,
FirstNamevarchar(255),
CONSTRAINT
名称UNIQUE (Id_P)
)
方式三:修改表结构
ALTER TABLE Persons ADD [CONSTRAINT
名称] UNIQUE (Id_P)