Pangkalan data ThinkPHP6.0
ThinkPHP6 pangkalan data
ThinkPHP6 pangkalan data dan operasi model telah bebas kerana
perpustakaan ThinkORM ThinkORM库
要使用Db类必须使用门面方式(
thinkfacadeDb
)调用数据库操作统一入口:
anda mesti menggunakan kaedah DDb::
. ) ENJIN =MyISAM AUTO_INCREMENT=8 CHARSET LALAI=utf8mb4 COMMENT='Jadual Klasifikasi';2, Navicat untuk MySql (pengurusan pangkalan data perisian tetingkap)
2 Cipta pangkalan data
1 jadual Pentadbir
BUAT JADUAL `shop_admin` ( `UID` CATATAN CATATAN CATATAN 10. ', ` akaun` varchar(50) BUKAN NULL ULASAN 'Akaun', `kata laluan` char(32) BUKAN NULL ULASAN 'Kata Laluan', `nama` varchar(50) BUKAN NULL ULASAN 'Nama' . `)) ENJIN=InnoDB AUTO_INCREMENT=2 CHARSET lalai=utf8mb4 ULASAN='Pentadbir Belakang';MASUKKAN KE DALAM NILAI `shop_admin` (1, 'ouyangke1900', 'ouyangke1500' 883e', 'ouyangke', 1, .
MASUKKAN KE DALAM NILAI `shop_cat` (1, 'Value `CAT ` MASUK 1); (2, 'Pakaian lelaki' ', 1);MASUKKAN KE DALAM NILAI `kucing_kedai` (3, 'Bersalin', 1);MASUKKAN KE DALAM NILAI `kucing_kedai` (4, 'Pakaian Kanak-kanak', 1);MASUKKAN KE DALAM NILAI `shop_cat` (5, 'TV', 1);MASUKKAN KE DALAM NILAI `shop_cat` (6, 'Telefon bimbit', 1);MASUKKAN KE DALAM NILAI `shop_cat` (7, 'Komputer' , 1);
3 , Jadual produk
BUAT JADUAL `barang_kedai` (
`id` int(10) tidak ditandatangani BUKAN NULL AUTO_INCREMENT KOMEN ' ID produk kucing',
`TIDAK ditandatangani NULL ULASAN '1' ULASAN 'ID Pengelasan',
`tajuk` varchar(200) BUKAN NULL ULASAN 'Tajuk produk',
`harga` dua kali ganda(10,2) tidak ditandatangani BUKAN NULL ULASAN 'Harga',
diskaun` tinyint(1) tidak ditandatangani NOT NULL DEFAULT '0' ULASAN 'Diskaun',
. add_time` int(10) tidak ditandatangani BUKAN NULL ULASAN 'Tambah masa', KUNCI UTAMA (`id`)) ENJIN=MyISAM AUTO_INCREMENT=20 CARSET LALAI=utf8mb4 KOMEN='Jadual produk'; KE DALAM NILAI `barang_kedai` (1, 1, 'Skirt dongeng cahaya awan, skirt panjang pinggang manik mewah, pakaian tanpa lengan yang elegan', 279.99, 0, 1100, 1, 1576080000);MASUKKAN KE DALAM `barang_kedai` 2, 1, 'Cool Royal Sister Style Corduroy A-Line Dress Wanita Musim Gugur dan Musim Sejuk 2019 Skirt Retro Slimming Pinggang Baharu', 255.90, 0, 100, 1, 1576080000);4 shop_menu` (
`id` int(10) unsigned NOT NULL AUTO_INNCREMENT ULASAN 'ID', `title` varchar(50) NOT NULL COMMENT 'menu name', `fid` int(10) NOT NULL COMMENT 'ID Ibu Bapa',
`status` tinyint(1) unsigned NOT NULL DEFAULT '1' ULASAN 'Status 1 on 2 off',
KUNCI UTAMA (`id`)) ENGINE=MYISAM AUTOSET_INNCREMENT CREMENT=13 =utf8mb4 KOMEN='Jadual menu kiri';}MASUKKAN KE DALAM `menu_kedai` NILAI (1, 'Pengurusan produk', 0, 1);
MASUKKAN KE DALAM `menu_kedai` NILAI (2, Senarai 'Pengurusan produk' ', 1, 1);
MASUKKAN KE DALAM `menu_kedai` NILAI (3, 'Kategori Produk', 1, 1);
MASUKKAN KE DALAM `menu_kedai` NILAI (4, 'Pengurusan Pengguna', 0, 1);
MASUKKAN KE DALAM NILAI `menu_kedai` (5, 'Senarai Pengguna', 4, 1);
MASUKKAN KE DALAM NILAI `menu_kedai` (6, 'Keranjang Belanja', 4, 1);MASUKKAN KE DALAM NILAI `menu_kedai` ( 7, 'Alamat pengguna', 4, 1);
MASUKKAN KE `menu_kedai` NILAI (8, 'Pengurusan pesanan', 4, 1);
MASUKKAN KE DALAM `menu_kedai` NILAI (9, 'Pengurusan belakang', 0 , 1);
MASUKKAN KE DALAM `menu_kedai` NILAI (10, 'Senarai Pentadbir', 9, 1);
MASUKKAN KE DALAM `menu_kedai` NILAI (11, 'Pusat Peribadi', 9, 1);
MASUKKAN KE DALAM `shop_menu` NILAI (12, 'Menu kiri', 9, 1);
3 Laksanakan MySql asli1 Kaedahquery
digunakan untuk melaksanakan operasi pertanyaan MySql. indeks fungsi(){
$query = Db::query("SELECT * FROM `shop_goods` where status=1");
print_r($query);
2、query
方法用于执行 MySql 查询操作
public function index(){
$query = Db::query("SELECT * FROM `shop_goods` where status=1");
print_r($query);
}
2、execute
indeks fungsi awam(){ $execute = Db::execute("INSERT INTO `shop_goods` NILAI (3, 1, '2019 Autumn and Winter Fesyen Baharu Kasmir tulen ringkas menebal skirt panjang kasmir leher bulat, pakaian ramping dan elegan untuk wanita, 1179.00, 0, 200, 1, 1576080000"); print_r($execute);$execute = Db::execute("KEMASKINI set `barang_kedai` `harga`='1100' di mana `id`=3 ");
print_r($execute);
}
IV 1. Carian data tunggal cari
find
方法查询结果不存在,返回 null,否则返回结果数组
public function index(){
$find = Db::table('shop_goods')->find(5);
print_r($find);
}
2、多条数据查询 select
select
方法查询结果是一个二维数组,如果结果不存在,返回空数组
public function index(){
$select = Db::table('shop_goods')->select();
print_r($select);
}
3、查询某个字段的值 value
value
方法查询结果不存在,返回 null
public function index(){
$value = Db::table('shop_goods')->value('title');
print_r($value);
}
4、查询某一列的值 column
column
方法查询结果不存在,返回空数组
public function index(){
$column = Db::table('shop_goods')->column('title');
print_r($column);
$column = Db::table('shop_goods')->column('title','id');
print_r($column);
}
五、添加
1、添加一条数据 insert
insert
方法添加数据成功返回添加成功的条数,通常情况返回 1
public function index(){
$data = ['cat'=>'1','title'=>'日系小浪漫与温暖羊毛针织拼接网纱百褶中长收腰连衣裙','price'=>'1598.35','add_time'=>1576080000];
$insert = Db::table('shop_goods')->insert($data);
print_r($insert);
}
2、添加一条数据 insertGetId
indeks fungsi awam(){insertGetId
$find = Db: :table('shop_goods')->find(5);
print_r($find);}
🎜🎜2 pilih pertanyaan data berbilang🎜🎜🎜🎜pilih pertanyaan kaedah Hasilnya ialah tatasusunan dua dimensi Jika hasilnya tidak wujud, tatasusunan kosong dikembalikan 🎜🎜🎜🎜🎜indeks fungsi awam(){🎜🎜 $select = Db::table('shop_goods')-. >select();🎜🎜 print_r ($select);🎜🎜}🎜🎜🎜3 Pertanyaan nilai medan tertentu🎜🎜🎜🎜 nilai hasil pertanyaan kaedah tidak wujud dan kembali. null🎜🎜🎜🎜🎜indeks fungsi awam() {🎜🎜🎜 $value = Db::table('shop_goods')->value('title');🎜🎜 print_r($value);🎜🎜}🎜 🎜4. Soal nilai lajur🎜🎜 🎜🎜 lajur hasil pertanyaan kaedah tidak wujud dan mengembalikan tatasusunan kosong🎜🎜🎜🎜🎜 indeks fungsi awam(){🎜🎜n🎜 $colum Db::jadual('barang_kedai')->lajur( 'tajuk');🎜🎜 print_r($lajur);🎜🎜 $lajur = Db::jadual('barang_kedai')->lajur('tajuk', 'id');🎜🎜 print_r($column);🎜 🎜}🎜🎜🎜 5. Tambah 🎜🎜1. Tambah sekeping data sisipan🎜🎜🎜🎜 masukkan dan kaedah itu berjaya menambah data. mengembalikan bilangan item yang berjaya ditambahkan. Biasanya, ia mengembalikan 1🎜🎜🎜🎜🎜🎜 indeks fungsi awam(){🎜🎜🎜 $data = ['cat'=>'1','title'=>'Japanese pakaian dikait splicing mesh berlipat pertengahan panjang bulu romantik dan hangat','harga '=>'1598.35','add_time'=>1576080000];🎜🎜 $insert = Db::table('shop_goods')-> ;insert($data);🎜🎜 print_r($insert);🎜🎜 }🎜🎜🎜2. Tambah sekeping data insertGetId🎜🎜🎜🎜 insertGetId
Kaedah ini berjaya menambah data. -kunci utama penambahan data🎜🎜🎜🎜🎜🎜indeks fungsi awam(){🎜🎜🎜 $data = ['cat'=>'1','title'=>'Pakaian sweater rajutan musim luruh 2019 dan musim sejuk gaya baharu bulu longgar berlengan panjang skirt bawah kasual pertengahan panjang untuk wanita','price'=>'690.00', 'add_time'=>1576080000];🎜$insert = Db::table('shop_goods')->insertGetId($data);
print_r($insert);
}
3. Tambahkan berbilang keping data insertAll
> Kaedah insertAll berjaya menambah data dan mengembalikan bilangan item yang berjaya ditambahkan
insertAll
方法添加数据成功返回添加成功的条数
public function index(){
$data = [
['cat'=>'1','title'=>'秋冬加厚连衣裙女超长款宽松羊绒衫高领套头过膝毛衣百搭针织长裙','price'=>'658.00','add_time'=>1576080000],
['cat'=>'1','title'=>'2019新款秋冬慵懒风宽松毛衣针织连衣裙复古港味网红两件套','price'=>'408.00','add_time'=>1576080000],
['cat'=>'2','title'=>'男士长袖t恤秋季圆领黑白体恤T 纯色上衣服打底衫男装','price'=>'99.00','add_time'=>1576080000]
];
$insert = Db::table('shop_goods')->insertAll($data);
print_r($insert);
}
六、修改
1、修改数据 update
update
方法返回影响数据的条数,没修改任何数据返回 0
public function index(){
$data = ['price'=>'68'];
$update = Db::table('shop_goods')->where('id',8)->update($data);
print_r($update);
}
2、自增 inc
inc
方法自增一个字段的值
public function index(){
$inc = Db::table('shop_goods')->where('id',5)->inc('stock')->update();
print_r($inc);
# 字段的值增加5
$inc = Db::table('shop_goods')->where('id',6)->inc('stock',5)->update();
print_r($inc);
}
3、自减 dec
dec
indeks fungsi awam(){indeks fungsi awam(){ #Padam data berdasarkan syarat $delete = Db::table('shop_goods')->where('id',1)-> delete() ;$data = [
> 'kucing'=>'1' ,'title'=>'2019 New Autumn and Winter Style Lazy Style Loose Sweater Knitted Dress Retro Hong Kong Style Selebriti Internet Set Dua Keping','price'=>'408.00','add_time' =>1576080000], . = >'99.00','add_time'=>1576080000]
];
$insert = Db::table('shop_goods')->insertAll($data);
);_r($insert);
🎜}🎜🎜6 Pengubahsuaian
🎜1 Ubah suai kemas kini data🎜🎜🎜🎜kemas kini mengembalikan bilangan data yang terjejas, jika tiada data diubah, ia mengembalikan 0. 🎜🎜🎜🎜 🎜indeks fungsi awam(){🎜🎜 $data = ['price'=>'68'];🎜🎜 $update = Db::table('shop_goods')->where('id' ,8)- >kemas kini($data);🎜🎜 print_r($update);🎜🎜}🎜🎜🎜2. Auto-increment inc🎜🎜🎜🎜 inc
menambah nilai a. medan🎜🎜🎜🎜 🎜indeks fungsi awam(){🎜🎜 $inc = Db::table('kedai_barang')->di mana('id',5)->inc('stok')->kemas kini ();🎜🎜 print_r($inc);🎜🎜 # Naikkan nilai medan sebanyak 5🎜🎜 $inc = Db::table('shop_goods')->where('id',6)-> inc('stock',5) ->update();🎜🎜 print_r($inc);🎜🎜}🎜🎜🎜3 Decrement dec🎜🎜🎜🎜dec
kaedah mengurangkan nilai bagi medan🎜🎜🎜🎜🎜 🎜indeks fungsi awam(){🎜🎜 # Tolak 1 daripada nilai medan🎜🎜 $dec = Db::table('shop_goods')->where('id',7) ->dec('stok') ->kemas kini();🎜🎜 print_r($dec);🎜🎜 # Tolak 5 daripada nilai medan $dec = Db::table('shop_goods')->where( 'id',8)- >dec('stok',5)->kemas kini();🎜. br/ >
- print_r($delete);
delete
方法返回影响数据的条数,没有删除返回 0
public function index(){
# 根据条件删除数据
$delete = Db::table('shop_goods')->where('id',1)->delete();
print_r($delete);
# 删除主键为2的数据
$delete = Db::table('shop_goods')->delete(2);
print_r($delete);
# 删除整表数据
$delete = Db::table('shop_goods')->delete(true);
print_r($delete);
}
2、软删除 useSoftDelete
业务数据不建议真实删除数据,TP系统提供了软删除机制
public function index(){
# 软删除
$delete = Db::table('shop_goods')->useSoftDelete('status',3)->delete();
print_r($delete);
}
八、其他操作(自学)
save
# Padam data dengan kunci utama 2 $delete = Db::table('shop_goods')->delete(2);
print_r($delete) ; # Padam keseluruhan data jadual $delete = Db::table('shop_goods')->delete(true); print_r($delete);}2 code>useSoftDelete< /code>
Adalah tidak disyorkan untuk memadam data untuk data perniagaan Sistem TP menyediakan mekanisme pemadaman lembut
indeks fungsi awam(){
# Padam lembut
. $delete = Db::table('shop_goods ')->useSoftDelete('status',3)->delete(); print_r($delete);- }🎜8. belajar sendiri) 🎜🎜🎜🎜
simpan < Kaedah /kod> menulis data secara seragam dan secara automatik menentukan sama ada untuk menambah atau mengemas kini data (berdasarkan sama ada terdapat data kunci utama dalam data bertulis). 🎜🎜🎜🎜🎜indeks fungsi awam(){🎜🎜 # Tambah data🎜🎜 $data = ['cat'=>'2','title'=>'Seluar jeans potong meterbonwe untuk wanita musim panas 2018 Pinggang tengah baharu gaya kedai jeans yang dicuci langsing','price'=>'49.90','add_time'=>1576080000];🎜🎜 $save = Db::table('shop_goods')->save($data );🎜 🎜 print_r($save);🎜🎜 # Ubah suai data🎜🎜 $data = ['price'=>'99.00','id'=>3];🎜🎜 $save = Db::table( 'kedai_barang' )->save($data);🎜🎜 print_r($save);🎜🎜}🎜🎜🎜Nota: menambah, memadam, menyemak dan mengubah suai adalah operasi rutin🎜🎜9 Set data🎜🎜🎜🎜 banyak disediakan pemprosesan kaedah Set Data🎜.
bercantum | Gabung data lain | Berbeza
Pemulangan semua dalam data Nama kunci | |
Padamkan elemen terakhir dalam data | |
Padamkan elemen pertama dalam data | |
insert elemen di end | |
by menggunakan fungsi yang ditentukan pengguna, kembalikan array sebagai string | |
rearRange data dalam urutan terbalik | |
Data dipisahkan kepada beberapa blok data | |
setiap | Lakukan panggilan balik untuk setiap elemen data |
penapis | Gunakan fungsi panggil balik untuk menapis elemen dalam data |
lajur | dispesifikasikan semula |
isih | |
pesanan | |
kocok | |
bahagian Isim bagi I | |
Fungsi panggil balik memproses elemen dalam tatasusunan | |
Tapis elemen dalam tatasusunan berdasarkan keadaan medan | |
Suka elemen penapis pertanyaan | |
IN Pertanyaan dan penapis elemen dalam tatasusunan | |
Not IN menanyakan elemen dalam tatasusunan penapis | |
Antara pertanyaan | diantara|