MySQL表字段的命名规范是什么?

MySQL表字段的命名规范是什么?,第1张

规范就是由字母/数字/下划线组成,且由字母和下划线开头就行了,起什么字段名随意,你想用student_id也行, 只要能表达含义就可以了

不过如果是在student表里,就直接id,name这样就行,加前缀没啥意义

1、一种方法是可以设置表或行的collation,使其为binary或case

sensitive。在MySQL中,对于Column

Collate其约定的命名方法如下:

*_bin:

表示的是binary

case

sensitive

collation,也就是说是区分大小写

*_cs:

case

sensitive

collation,区分大小写

*_ci:

case

insensitive

collation,不区分大小写

###########

#

Start

binary

collation

example

###########

mysql>

create

table

case_bin_test

(word

VARCHAR(10))

CHARACTER

SET

latin1

COLLATE

latin1_bin

Query

OK,

0

rows

affected

(0.02

sec)

mysql>

INSERT

INTO

case_bin_test

VALUES

('Frank'),('Google'),('froogle'),('flickr'),('FlicKr')

Query

OK,

5

rows

affected

(0.00

sec)

Records:

5

Duplicates:

0

Warnings:

0

mysql>

SELECT

*

FROM

case_bin_test

WHERE

word

LIKE

'f%'

+---------+

|

word

|

+---------+

|

froogle

|

|

flickr

|

+---------+

2

rows

in

set

(0.00

sec)

mysql>

SELECT

*

FROM

case_bin_test

WHERE

word

LIKE

'F%'

+---------+

|

word

|

+---------+

|

Frank

|

|

FlicKr

|

+---------+

4

rows

in

set

(0.00

sec)

###########

#

End

###########

2、另外一种方法

###########

#

Start

case

sensitive

collation

example

###########

mysql>

create

table

case_cs_test

(word

VARCHAR(10))

CHARACTER

SET

latin1

COLLATE

latin1_general_cs

Query

OK,

0

rows

affected

(0.08

sec)

mysql>

INSERT

INTO

case_cs_test

VALUES

('Frank'),('Google'),('froogle'),('flickr'),('FlicKr')

Query

OK,

5

rows

affected

(0.00

sec)

Records:

5

Duplicates:

0

Warnings:

0

mysql>

SELECT

*

FROM

case_cs_test

WHERE

word

LIKE

'F%'

+---------+

|

word

|

+---------+

|

Frank

|

|

FlicKr

|

+---------+

4

rows

in

set

(0.00

sec)

mysql>

SELECT

*

FROM

case_cs_test

WHERE

word

LIKE

'f%'

+---------+

|

word

|

+---------+

|

froogle

|

|

flickr

|

+---------+

2

rows

in

set

(0.00

sec)

###########

#

end

###########

3、还有一种方法就是在查询时指定collation

mysql>

create

table

case_test

(word

VARCHAR(10))

CHARACTER

SET

latin1

Query

OK,

0

rows

affected

(0.01

sec)

mysql>

INSERT

INTO

case_test

VALUES

('Frank'),('Google'),('froogle'),('flickr'),('FlicKr')

Query

OK,

7

rows

affected

(0.01

sec)

Records:

7

Duplicates:

0

Warnings:

0

mysql>

SELECT

*

FROM

case_test

WHERE

word

LIKE

'f%'

+---------+

|

word

|

+---------+

|

Frank

|

|

froogle

|

|

flickr

|

|

FlicKr

|

+---------+

6

rows

in

set

(0.01

sec)

mysql>

SELECT

*

FROM

case_test

WHERE

word

LIKE

'F%'

+---------+

|

word

|

+---------+

|

Frank

|

|

froogle

|

|

flickr

|

|

FlicKr

|

+---------+

6

rows

in

set

(0.01

sec)

mysql>

SELECT

*

FROM

case_test

WHERE

word

COLLATE

latin1_bin

LIKE

'F%'

+---------+

|

word

|

+---------+

|

Frank

|

|

FlicKr

|

+---------+

4

rows

in

set

(0.05

sec)

mysql>

SELECT

*

FROM

case_test

WHERE

word

COLLATE

latin1_bin

LIKE

'f%'

+---------+

|

word

|

+---------+

|

froogle

|

|

flickr

|

+---------+

2

rows

in

set

(0.00

sec)

mysql>

SELECT

*

FROM

case_test

WHERE

word

LIKE

'f%'

COLLATE

latin1_bin

+---------+

|

word

|

+---------+

|

froogle

|

|

flickr

|

+---------+

2

rows

in

set

(0.00

sec)

mysql>

SELECT

*

FROM

case_test

WHERE

word

LIKE

'F%'

COLLATE

latin1_bin

+---------+

|

word

|

+---------+

|

Frank

|

|

FlicKr

|

+---------+

4

rows

in

set

(0.01

sec)

mysql>

SELECT

*

FROM

case_test

WHERE

word

LIKE

'F%'

COLLATE

latin1_general_cs

+---------+

|

word

|

+---------+

|

Frank

|

|

FlicKr

|

+---------+

4

rows

in

set

(0.04

sec)

不可以。不能超过64个字符。

MySQL对命名数据库和MySQL表命名有一个原则,名字可以由当前字符集中的任何字母数字字符组成,下划线和美元符也可以。名字最长为64个字符。

因为数据库和表的名字对应于目录和文件名,服务器运行的 *** 作系统可能强加额外的限制,文件系统的大小写敏感性影响到你如何命名和引用数据库和表名。


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

原文地址: https://outofmemory.cn/zaji/8528700.html

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

发表评论

登录后才能评论

评论列表(0条)

保存