Rumah pangkalan data tutorial mysql MySQL所支持的数据类型与表字段约束类型的学习教程_MySQL

MySQL所支持的数据类型与表字段约束类型的学习教程_MySQL

May 27, 2016 pm 01:46 PM
mysql jenis data

MySQL 数据(字段)类型
在创建表的时候,要明确定义字段对应的数据类型。MySQL 主要的数据类型分为数值类型、字符串(文本)类型、时间日期类型和其他类型几类。
数值类型
数值类型说明:

20151216143742150.png (653×259)

补充说明
在 int(integer) 系列中,只能存储整型值,且可以在后面用括号指定显示的尺寸(M),如果不指定则会默认分配。如果实际值的显示宽度大于设定值,将会显示实际值而不会截断以适应显示尺寸。如 smallint(3) 中的 3 即为显示尺寸,即显示三位的数值(不包括 - 号)
int 类型可以指定 UNSIGNED 属性,即无符号(非负),所以存储范围有两种
在 float、double 及 decimal 类型中,不能指定 UNSIGNED 属性,其显示尺寸包含了小数点精度(D),即 float(3,1) 保存范围为 -99.9 至 99.9
decimal 必须指定显示尺寸(M)和小数点精度(D),float 和 double 都是可选的
在可能涵盖取值范围的基础上,尽可能选择较小的类型以提高效率和节约存储空间,如年龄,就选择 tinyint(3) 。该原则对于字符类型同样适用
字符串(文本)类型
字符串(文本)类型说明:

20151216143801648.png (647×296)

补充说明
char 和 varcha 需要指定长度,不同的是,char 存储时总是按照指定的长度储存,而 varchar 则根据实际字符串长度再加上一个字节分配空间。
时间日期类型
时间日期类型说明:

20151216143817755.png (651×153)

提示
在 PHP 中,一般情况下对于时间都是按照 UNIX 时间戳以 int 类型存储于表中,再根据实际需要用 PHP 的时间函数进行处理,但不完全都是这样。

MySQL 表字段属性
主键
表的主键(primary key,主关键字)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。一个表不能有多个主关键字,并且主关键字的列不能包含空值和重复值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
语法:
PRIMARY KEY (column_name)

20151216143834718.png (658×105)

在这个表中,uid 这个字段就是该表的主键。
建立主键应该遵循的一般原则
主键应当是对用户没有意义的
永远也不要更新主键,如果主键需要更新,则说明主键应对用户无意义的原则被违反了
主键不应包含动态变化的数据,如时间戳、创建时间等
主键应当由系统自动生成
外键
在两个表的关系中,当一张表(如表A )的主关键字被包含在另一张表(如表B)中时,A 表中的主关键字便成为 B 表的外键(外关键字)。B 表称为主表,A 表称为从表。
外键主要用于保持数据一致性,完整性,避免冗余数据,使两张或多张表形成关联。

20151216143851575.png (673×107)

在这个文章评论表 comment 样例中,uid 便是外键,它是 user 表的主键。在该表中记录了用户对文章的评论,关于用户信息,只需对应 user 表的主键 uid 即可。在数据一致性方面,比如当 comment 表没有 uid 为 3 的评论后,才可以删除 user 表中 uid = 3 的记录。
自动递增
在 MySQL 数据库中,提供了字段的自动递增(AUTO_INCREMENT)属性,即将该字段设置为 int 类的数据类型,每向数据表添加一条记录,该字段的值会自动加1 。设置了自动递增后,该列不用再设置默认值和唯一性约束。
例子:


uid mediumint(8) NOT NULL auto_increment
Salin selepas log masuk


非空
因为逻辑上的一些要求,有时候需要把字段属性设置为非空(NOT NULL),如记录用户名、密码等非空值的字段。
设置为非空的列,虽然不是必须,但最好设定一个默认值,以防止意外的错误和减少增加数据时的 SQL 语句复杂度。当向数据表增加数据记录时,如果设置为非空的字段不写入数据,系统将会以默认值写入。
例子:


username char(20) NOT NULL default ''
//将NOT NULL 改为 NULL
ALTER TABLE user CHANGE username username char(20) NULL
Salin selepas log masuk


提示
在上面的例子中 CHANGE 后面 username username ,前者表示更改的字段名,后者表示新字段名。在本例中,只更改了字段属性为 NULL ,不涉及到字段名称的更改,因此二者一致。

与非空相反,可以将字段属性设置为空,如果字段属性没有设置为非空(NOT NULL)属性,那么系统默认就是可以为空(NULL)值的。
将NULL 改为 NOT NULL:


ALTER TABLE user CHANGE username username char(20) NOT NULL DEFAULT ''
Salin selepas log masuk


唯一性约束
有时候某些字段数据不允许重复,如用户名,这时候就需要增加唯一性约束(UNIQUE)。
语法:


UNIQUE (column_name)
//给表字段增加 UNIQUE
ALTER TABLE tb_name ADD UNIQUE (column_name)
//去掉 UNIQUE
ALTER TABLE tb_name DROP INDEX column_name
Salin selepas log masuk


主键(PRIMARY KEY)会强制性的拥有自动定义的唯一性约束,不用额外定义 UNIQUE 。
索引
数据库索引(index)是为了增加查询速度而对字段附加的一种标识。我们对表的某些可能需要经常查询的字段建立适当的索引,那么在查询该字段数据时,便会显著的加快查询速度。
语法:
KEY key_name (column_name)
KEY 后面的字符为索引名称,括号内为建立索引的字段名。
改进后的建表 SQL


CREATE TABLE user (
  uid mediumint(8) unsigned NOT NULL auto_increment,
  username char(15) NOT NULL default '',
  password char(32) NOT NULL default '',
  email varchar(40) NOT NULL default '',
  regdate int(10) unsigned NOT NULL default '0',
  PRIMARY KEY (uid),
  UNIQUE KEY username (username),
  KEY email (email)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Salin selepas log masuk


补充说明
在建表语句正文后面还附加了建表的其它几个属性:
ENGINE:表示存储引擎类型,分为 MyISAM 和 InnoDB 两种类型。MyISAM 不支持事务处理等高级处理,强调表的性能,执行也比 InnoDB 快。而 InnoDB 提供事务支持已经外部键等高级数据库功能,性能上比 MyISAM 差。默认为 MyISAM 类型
CHARSET:表示数据表表字符集,一般为 gbk 或 utf8 以及 big5 等,为了兼容性考虑,我们设置为 utf8 字符集
AUTO_INCREMENT:设置主键默认增长的开始数

以上就是MySQL所支持的数据类型与表字段约束类型的学习教程_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mysql: Konsep mudah untuk pembelajaran mudah Mysql: Konsep mudah untuk pembelajaran mudah Apr 10, 2025 am 09:29 AM

MySQL adalah sistem pengurusan pangkalan data sumber terbuka. 1) Buat Pangkalan Data dan Jadual: Gunakan perintah Createdatabase dan Createtable. 2) Operasi Asas: Masukkan, Kemas kini, Padam dan Pilih. 3) Operasi lanjutan: Sertai, subquery dan pemprosesan transaksi. 4) Kemahiran Debugging: Semak sintaks, jenis data dan keizinan. 5) Cadangan Pengoptimuman: Gunakan indeks, elakkan pilih* dan gunakan transaksi.

Cara membuka phpmyadmin Cara membuka phpmyadmin Apr 10, 2025 pm 10:51 PM

Anda boleh membuka phpmyadmin melalui langkah -langkah berikut: 1. Log masuk ke panel kawalan laman web; 2. Cari dan klik ikon phpmyadmin; 3. Masukkan kelayakan MySQL; 4. Klik "Login".

Cara Membuat Premium Navicat Cara Membuat Premium Navicat Apr 09, 2025 am 07:09 AM

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Cara Membuat Sambungan Baru ke MySQL di Navicat Cara Membuat Sambungan Baru ke MySQL di Navicat Apr 09, 2025 am 07:21 AM

Anda boleh membuat sambungan MySQL baru di Navicat dengan mengikuti langkah -langkah: Buka aplikasi dan pilih Sambungan Baru (Ctrl N). Pilih "MySQL" sebagai jenis sambungan. Masukkan nama host/alamat IP, port, nama pengguna, dan kata laluan. (Pilihan) Konfigurasikan pilihan lanjutan. Simpan sambungan dan masukkan nama sambungan.

MySQL: Pengenalan kepada pangkalan data paling popular di dunia MySQL: Pengenalan kepada pangkalan data paling popular di dunia Apr 12, 2025 am 12:18 AM

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

Cara menggunakan redis berulir tunggal Cara menggunakan redis berulir tunggal Apr 10, 2025 pm 07:12 PM

Redis menggunakan satu seni bina berulir untuk memberikan prestasi tinggi, kesederhanaan, dan konsistensi. Ia menggunakan I/O multiplexing, gelung acara, I/O yang tidak menyekat, dan memori bersama untuk meningkatkan keserasian, tetapi dengan batasan batasan konkurensi, satu titik kegagalan, dan tidak sesuai untuk beban kerja yang berintensifkan.

MySQL dan SQL: Kemahiran Penting untuk Pemaju MySQL dan SQL: Kemahiran Penting untuk Pemaju Apr 10, 2025 am 09:30 AM

MySQL dan SQL adalah kemahiran penting untuk pemaju. 1.MYSQL adalah sistem pengurusan pangkalan data sumber terbuka, dan SQL adalah bahasa standard yang digunakan untuk mengurus dan mengendalikan pangkalan data. 2.MYSQL menyokong pelbagai enjin penyimpanan melalui penyimpanan data yang cekap dan fungsi pengambilan semula, dan SQL melengkapkan operasi data yang kompleks melalui pernyataan mudah. 3. Contoh penggunaan termasuk pertanyaan asas dan pertanyaan lanjutan, seperti penapisan dan penyortiran mengikut keadaan. 4. Kesilapan umum termasuk kesilapan sintaks dan isu -isu prestasi, yang boleh dioptimumkan dengan memeriksa penyataan SQL dan menggunakan perintah menjelaskan. 5. Teknik pengoptimuman prestasi termasuk menggunakan indeks, mengelakkan pengimbasan jadual penuh, mengoptimumkan operasi menyertai dan meningkatkan kebolehbacaan kod.

Cara Memulihkan Data Selepas SQL Memadam Barisan Cara Memulihkan Data Selepas SQL Memadam Barisan Apr 09, 2025 pm 12:21 PM

Memulihkan baris yang dipadam secara langsung dari pangkalan data biasanya mustahil melainkan ada mekanisme sandaran atau transaksi. Titik Utama: Rollback Transaksi: Jalankan balik balik sebelum urus niaga komited untuk memulihkan data. Sandaran: Sandaran biasa pangkalan data boleh digunakan untuk memulihkan data dengan cepat. Snapshot Pangkalan Data: Anda boleh membuat salinan bacaan pangkalan data dan memulihkan data selepas data dipadam secara tidak sengaja. Gunakan Pernyataan Padam dengan berhati -hati: Periksa syarat -syarat dengan teliti untuk mengelakkan data yang tidak sengaja memadamkan. Gunakan klausa WHERE: Secara jelas menentukan data yang akan dipadam. Gunakan Persekitaran Ujian: Ujian Sebelum Melaksanakan Operasi Padam.

See all articles