DML:(数据操作语言) insert update delete
DDL:(数据定义语言) create alter drop truncate
DCL:(数据控制语言) grant revoke
事务控制语句:commit rollback savepoint
创建表: create table [模式名:]表名
(
--定义多个列
columnName1 datatype[default expr],
);
eg: create table mytable
(
table_id int,
table_price decimal,
table_name varchar(255) default 'hahh'
);
使用子查询创建表:create tale[模式名:]表名
[column(,column...)]
as subquery;
eg:create tale test
as
select* from mytable;
修改表结构(增加列,增加列定义,修改列定义,删除列,重命名列):
alter table 表名
add
(
columen_name1 datatype [default expr],
)
eg:为mytable添加字段
alter table mytable
add table_age int;
eg2:为mytable添加字段
alter table mytable
add (
table_age int ,
table_name varchar(255)
);
修改列定义:alter table 表名
modify column_name datatype[default expr] [first|after col_name];
eg:修改mytable中的table_age
alter table mytable
modify table_age varchar(255);
删除列: alter table 表名
drop column_name
eg:删除table_age
alter table mytabel
drop table_name;
修改表名:alter table 表名
rename 表名
eg: alter table mytable
rename newtable;
修改列名:alter table 表名
change old_column_name new_column_name type [default expr] [first|after col_name];
eg: alter table newtable
change table_id table_newid;
删除表: drop table 表名;
eg:drop table test;
删除表之后,表对象不存在
表中所有数据被删除
表所有相关索引,约束被删除
删除表中数据:truncate 表名;
删除表中数据,但是保留表结构
约束:
NOT NULL :非空约束,指定列不能为空
UNIQUE:唯一约束,指定某列或者几列组合不能重复
PRIMARY KEY:主键,指定列的值可以唯一标识该条数据
FOREIGN KEY:外键,指定该行记录从属主表中的一条记录,用于保存参照完整性
CHECK:检查
NOT NULL:create table mytable
(
--建立非空约束,
table_id int NOT NULL,
--table_price 可以为空
table_price decimal NULL,
table_name varchar(255) default 'hahh'
);
使用alter table增加/删非空约束
alter table mytable
modify table varchar(255) default 'hahh' not null;
alter table mytable
modify table varchar(255) default 'hahh' null;
UNIQUE: create table mytable
(
table_id int NOT NULL,
table_price decimal NULL,
--unique唯一约束,使用列级约束语法建唯一约束
table_name varchar(255) default 'hahh' unique
);
为多列组合建立唯一约束:
[constraint 约束名] 约束定义
eg:create table mytable
(
table_id int NOT NULL,
table_price decimal NULL,
--使用表级约束语法建立唯一约束
unique(table_id),
--使用表级约束语法建立唯一约束,并且制定约束名
constraint table_uk unique (table_price)
);
使用alter添加唯一约束:
eg: 使用add
alter atble mytable
add unique (table_id ,table_price);
eg;使用modify
alter table mytable
modify table_id int unique;
删除唯一约束:
alter table mytable
drop index table_uk;(删除mytable表上的table_uk唯一约束)
PRIMARY KEY:
建表时创建:
一. create table mytable
(
table_id int primary key,
table_price decimal,
table_name varchar(255) default 'hahh'
);
二。 create table mytable
(
table_id int,
table_price decimal,
table_name varchar(255) default 'hahh',
constraint test_pk primary key(table_id)
);
三 create table mytable
(
table_id int,
table_price decimal,
table_name varchar(255) default 'hahh',
primary key(table_id,table_price)
);
删除主键约束:
alter table mytable
drop primary key;
添加主键约束:
alter table mytable
add primary key(table_id);
设置自增长
create table mytable
(
--建立主键约束,使用自增长
table_id int auto_intcrement primary key,
table_price decimal,
table_name varchar(255) default 'hahh'
);
FOREIGN KEY:
create table teacher
(
teacher_id int auto_intcrement primary key,
table_name varchar(255) default 'hahh'
);
create table students
(
student_id int auto_intcrement primary key,
student_name varchar(255) default 'hahh',
--制定java_teacher 参照到teacher的teacher_id 列
java_teacher int references teacher(teacher_id)
);
表级约束语法:
create table teacher
(
teacher_id int auto_intcrement primary key,
table_name varchar(255) default 'hahh'
);
create table students
(
student_id int auto_intcrement primary key,
student_name varchar(255) default 'hahh',
java_teacher int ,
foreign key(java_teacher) references teacher(teacher_id)
);
创建索引:create index index_name
on table_name (column);
删除索引:drop index 索引名 on 表名
eg: drop index emp_name
on employees
创建视图: create or replace view 视图名
as
subquery;(查询语句)(如果视图不存在,则创建,存在,新视图替换旧的视图)
eg: create or replace view view_tesst
as
select * from teachertable;
删除视图:drop view 视图名
eg: drop view view_test;
MySQL常见语句,DDL
最新推荐文章于 2024-12-19 14:50:27 发布
本文深入讲解SQL语言的核心组件,包括DML、DDL、DCL及事务控制语句,详细介绍如何创建、修改、删除表和数据,以及如何使用各种约束如NOT NULL、UNIQUE、PRIMARY KEY和FOREIGN KEY来确保数据的完整性和一致性。

4084

被折叠的 条评论
为什么被折叠?



