MySQL语句
1、ddl语句
数据定义语言,定义不同的数据段、数据可、表、列、索引等数据库对象的定义
DDL 是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的操作语言。
它和 DML 语言的最大区别是 DML 只是对表内部数据的操作,而不涉及到表的定义、结构的修改,更
不会涉及到其他对象。DDL 语句更多的被数据库管理员(DBA)所使用,一般的开发人员很少使用
2、创建表
基本语法
(1)关键字
create table 表名称(列名,列的数据类型,列的约束条件)
例如,创建一个名称为 emp 的表。表中包括 3 个字段,ename(姓名),hiredate(雇用日期)、sal(薪水),字段类型分别为 varchar(10)、date、int(2):
mysql> create table emp(
ename varchar(10),
hiredate date,
sal decimal(10,2),deptno int(2));
Query OK, 0 rows affected (0.02 sec)
(2)查看表
desc 表名
2、查看详细表定义
mysql> show create table+表名
(3)删除表
表的删除命令如下:DROP TABLE tablename
(4)修改表
修改表的语法模板
第一种:修改表中某一列的数据类型,语法模板:
alter table 表名 modify 列名 你要修改的数据类型;
示例-1:修改表 emp 的 ename 字段定义,将 varchar(20)改为 varchar(100)
alter table emp modify ename varchar(100);
示例-2:修改表emp的hiredate字段定义,将date改为datetime
alter table emp modify hiredate datetime;
第二种,修改表结构为其增加字段(列)
alter table 表名 add column 列名 数据类型 相关约束
示例-1:表 emp 上新增加字段 age int
alter table emp add column age int;
示例-2:为表emp新增一字段id 整型,不允许为空,自增长,主键
alter table emp add column id int not null auto_increment primary key ;
示例-3:为表emp新增一字段sex,字符类型 char(2) 不允许为空
第三种:删除表中的字段:alter table 表名 drop column 列名;
示例-1:删除emp表中的age字段:
alter table emp drop column age;
第四种:字段改名,语法模板: alter table 表名 change 旧列名 新列名 数据类型 ;
例如,将 ename 改名为 empName,同时修改字段类型为 char(20):
mysql> alter table emp change ename empName char(20);
MySQL——约束
1、约束
约束英文:constraint
约束实际上就是表中数据的限制条件
2、约束的作用
表在设计的时候加入约束的目的就是为了保证表中的记录完整和有效
比如name字段中要让其用户名不重复,这就需要添加约束。或者必须注册的时候需要添加邮箱等
3、约束种类
非空约束 (not null)
唯一性约束 (unique)
主键约束 (primary key) 简称: PK
外键约束 (foreign key) FK
检查约束 (目前低版本MySQL不支持、Oracle支持)
4、区别
约束唯一性约束与主键约束的区别
相同点:
两者都约束值的唯一性
不同点:
1.一个表有且只能有一个主键约束,但是一个表可以允许有多个唯一性约束
2.主键列是不允许出现null值,但是unique约束的列接受null值(但是也只能有一个)