alter table 表名 alter column name varchar(20) not null
alter table 表名 add constraint UQ_表名_列名 unique(列)
alter table 表名 add constraint CK_表名_列名 check(age>5)
alter table 表名 add constraint DF_表名_列名 default('男') for gender
create function 函数名(参数列表)
returns 返回值的数据类型
routine_body
----------------------------------------------------------------------------------------
//实例
create function name_of_user( uid int )
returns varchar(11)
begin
return(
select name from user where id = uid
);
end;
调用函数:select 函数名(参数)
删除函数:drop function 函数名
数学函数
select upper(name) from studet;
select ucase(name) from student
select lower(name) from student ;
select lcase(name ) from stedent;
1、Form(left tab); 2、On<join condition> ; 3、<join type> join <right tab>; 4、where;5、Group by; 6、Having; 7、select;8、distinct; 9、Order by; 10、<top num>
数据库的设计是项目成功的最主要环节,(项目的重要)数据库中实现相关关系,主键 和外键不是必须有的,但是为了安全尽量使用。
create table student (
id int primary key auto_increment,
name varchar(11)
)
//给表中添加外键
create table student (
id int primary key auto_increment,//主键设置每张表都有,并且在代码的第一行。
name varchar(11)
cid int,//在创建表的字段的时候也要创建外键字段
foreign key( cid ) references classes( id ) //cid为外键 ,id为主键,外键受到主键约束。
)
-----------------------------------------------------------------
//修改主键或外键
alter table user add company_id int; //添加一个外键字段。
alter table user add foreign key ( company_id ) references company( id );
---------------------------------------------------------------------
// 删除外键
alter table orders drop foreign key orders_ibfk_1
----------------------------------------------------------------------
表创建 在先,主外键设置在后
//创建两张单表,没有任何关联关系
create table classes (
//主键id
id int primary key auto_increment,
name varchar(11)
);
create table student (
id int primary key auto_increment,
name varchar(11)
)
//给从表添加 外键 cid,使用修改表关键字 alter
alter table student add cid int;
//将cid 字段设置为外键,被classes 的 id约束。
alter table student add foreign key( cid ) references classes( id );
数值类型
日期和时间
字符串类型
- character(字符串)
- char(size)保存固定长度的字符串
- varchar(n)可变长度的字符串,最多8000个字符
- text可变长度的字符串,最多2GB字符数据。
- Unicode字符串
- nchar(n)固定长度的Unicode数据,最多4000字符。
- nvarchar(n)可变长度Unicode数据,最多4000字符。
- ntext 可变长度的Unicode数据,最多2GB。
- Binary类型
- bit允许0、1、或null
- binary(n)固定长度的二进制,最多8000字节
- varbinary(n) 可变长度的二进制,最多8000字节
- image可变长度的二进制,最多2GB。
- number类型
- tinyint:允许0--255的所有数字
- int:4字节
- bagint:8字节
- float:
- real
- money:十进制货币数字
- date类型:
- datetime:(从1733年1月1日--9999年12月31日,精度3.33毫秒),8 bytes
- date:仅存储日期,0001年1月1日到9999年12月31日,3bytes
- 其他数据类型
- uniqueldentifier 存取全局标识符(GUID)
- xml存取XML格式化数据。最多2GB。
- cursor存储对用于数据库操作的指针应用。
- 常见的字段类型选择
- 字符类建议用varchar、nvarchar
- 金额货币采用money
- 自增长,采用bigint数据类型,(数据量大int装不下,修改麻烦)
- 时间类型,datetime类型
```
create table student(
id integer primary key,主键
name text not null ,文本最大长度65535,非空
age integer unique,唯一
gender text,
emall text,
check(age>0) 约束用于限制列中默认值的范围
);
```