数据库classno是什么意思

数据库classno是什么意思,第1张

用来保证存放到数据库中的数据是有效的,即数据的有效性和准确性

确保数据的完整性 = 在创建表时给表中添加约束

完整性的分类:

- 实体完整性(行完整性):

- 域完整性(列完整性):

- 引用完整性(关联表完整性):

1

2

3

1

2

3

1.2 实体完整性

实体:即表中的一行(一条记录)代表一个实体(entity)

实体完整性的作用:标识每一行数据不重复。

约束类型:

主键约束(primary key)

唯一约束(unique)*

自动增长列(auto_increment)*

1.2.1 主键约束(primary key)

注:每个表中要有一个主键,但一张表的主键约束只能有1个

特点:数据唯一,且不能为null

主键约束,主键字段中的数据不能为NULL,也不能重复。

主键相关的术语?

- 主键约束 : primary key

- 主键字段 : id字段添加primary key之后,id叫做主键字段

- 主键值 : id字段中的每一个值都是主键值。

1

2

3

1

2

3

主键有什么作用?

- 表的设计三范式中有要求,第一范式就要求任何一张表都应该有主键。

- 主键的作用:主键值是这行记录在这张表当中的唯一标识。(就像一个人的身份z号码一样。)

1

2

1

2

主键的分类?

1:根据主键字段的字段数量来划分:

- 单一主键(推荐的,常用的。)

- 复合主键(多个字段联合起来添加一个主键约束)(复合主键不建议使用,因为复合主键违背三范式。)

-

2:根据主键性质来划分:

- 自然主键:主键值最好就是一个和业务没有任何关系的自然数。(这种方式是推荐的)

- 业务主键:主键值和系统的业务挂钩,例如:拿着yhk的卡号做主键,拿着身份z号码作为主键。(不推荐用)

最好不要拿着和业务挂钩的字段作为主键。因为以后的业务一旦发生改变的时候,主键值可能也需要

,随着发生变化,但有的时候没有办法变化,因为变化可能会导致主键值重复。

1

2

3

4

5

6

7

8

9

10

11

1

2

3

4

5

6

7

8

9

10

11

第一种添加方式:在列名后面直接添加:

--stuId作为主键

CREATE TABLE student( id int primary key, stuId varchar(50) )

1

2

1

2

第二种添加方式:此种方式优势在于,可以创建联合主键

CREATE TABLE student

(

id int, name varchar(50),

primary key(id)

)

--可以创建联合主键

CREATE TABLE student

(

classid int, stuid int, name varchar(50),

primary key(classid,stuid)

)

1

2

3

4

5

6

7

8

9

10

11

12

1

2

3

4

5

6

7

8

9

10

11

12

第三种添加方式:在创建好表之后添加

CREATE TABLE student

(

id int, name varchar(50)

)

--在创建表之后对表的列进行添加主键

ALTER TABLE student ADD PRIMARY KEY (id)

1

2

3

4

5

6

1

2

3

4

5

6

1.2.2 唯一约束(unique)

唯一约束修饰的字段具有唯一性,不能重复。但可以为NULL。

create table t_user(

id int,

username varchar(255) unique // 唯一约束

)

1

2

3

4

1

2

3

4

1.2.3 自动增长列(auto_increment)

自增是给主键添加自动增长的数值,列只能是整数类型

create table t_user(

id int primary key auto_increment, // id字段自动维护一个自增的数字,从1开始,以1递增。

username varchar(255)

)

--用了自增,插入数据时,就不需要自己赋值

insert into t_user(username) values('a')

insert into t_user(username) values('b')

insert into t_user(username) values('c')

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

1.3 域完整性

域完整性的作用:限制此单元格的数据正确,不对照此列的其它单元格比较

域完整性约束:数据类型 非空约束(not null) 默认值约束(default)

1.3.1 数据类型

只选取了常见的数据类型:

字符型:

类型 大小 用途

CHAR 0-255字节 定长字符串

VARCHAR 0-65535 字节 变长字符串

TINYTEXT 0-255字节 短文本字符串

TEXT 0-65 535字节 长文本数据

数值类型

类型 大小 范围(有符号) 范围(无符号 ) 用途

tinyint 1 字节 (-128,127) (0,255) 小整数值

smallint 2 字节 (-32 768,32 767) (0,65 535) 大整数值

INT 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值

日期类型:

类型 大小(字节) 范围 格式 用途

DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值

TIME 3 ‘-838:59:59’/‘838:59:59’ HH:MM:SS 时间值或持续时间

YEAR 1 1901/2155 YYYY

class sqlHelper{\x0d\x0apublic $conn \x0d\x0apublic $dbname="数据库名称" \x0d\x0apublic $username="数据库用户名" \x0d\x0apublic $password="数据库密码" \x0d\x0apublic $host="localhost" \x0d\x0a//连接数据库\x0d\x0apublic function __construct(){\x0d\x0a$this->conn=mysql_connect($this->host,$this->username,$this->password) \x0d\x0aif(!$this->conn){\x0d\x0adie("连接失败".mysql_error()) \x0d\x0a}\x0d\x0amysql_select_db($this->dbname,$this->conn) \x0d\x0a}\x0d\x0a//执行查询语句\x0d\x0apublic function execute_dql($sql){ \x0d\x0a$res=mysql_query($sql,$this->conn) \x0d\x0areturn $res \x0d\x0a}\x0d\x0a//执行增填改语句\x0d\x0apublic function execute_dml($sql){\x0d\x0a$b=mysql_query($sql,$this->conn) \x0d\x0aif(!$b){\x0d\x0areturn 3 \x0d\x0a}else{\x0d\x0aif(mysql_affected_rows($this->conn)){ \x0d\x0areturn 1//表示OK\x0d\x0a}else{\x0d\x0areturn 2//表示没有行收到影响 \x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a}

class文件是JAVA文件编译后而产生的.

我是从网上下的一个小颖的反编译器.

class反编译为JAVA后修改JAVA的内容保存.

再用JAVA编译工具,或直接执行JAVAC 命令

将JAVA文件编译成CLASS,就OK啦.........

如果你看不懂就不要管了,用不上的


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6932553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存