亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL數(shù)據(jù)庫中表的操作詳解

 更新時間:2022年08月18日 15:25:29   作者:世界盡頭與你  
這篇文章主要為大家詳細介紹了MySQL數(shù)據(jù)庫中表常用的一些操作方法,文中的示例代碼講解詳細,?對我們學習MySQL有一定幫助,需要的可以參考一下

1.Mysql中的數(shù)據(jù)類型

varchar 動態(tài)字符串類型(最長255位),可以根據(jù)實際長度來動態(tài)分配空間,例如:varchar(100)

char 定長字符串(最長255位),存儲空間是固定的,例如:char(10)

int 整數(shù)型(最長11位)

long 長整型

float 單精度

double 雙精度

date 短日期,只包括年月日

datetime 長日期,包括年月日時分秒

clob 字符大對象(最多可以存儲4G的字符串) ,超過255字符的都要采用此進行存儲

blob 二進制大對象,主要用于存儲流媒體數(shù)據(jù)等

2.創(chuàng)建數(shù)據(jù)表

例如,創(chuàng)建一個學生表:

mysql> CREATE TABLE imustctf(
    -> ctf_id INT NOT NULL AUTO_INCREMENT,
    -> ctf_name varchar(100) NOT NULL default 'dahezhiquan',
    -> ctf_age INT NOT NULL,
    -> ctf_date DATE,
    -> PRIMARY KEY (ctf_id)
    -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected, 1 warning (0.06 sec)

實例解析:

如果你不想字段為 NULL 可以設(shè)置字段的屬性為 NOT NULL, 在操作數(shù)據(jù)庫時如果輸入該字段的數(shù)據(jù)為NULL ,就會報錯。

AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數(shù)值會自動加1。

PRIMARY KEY關(guān)鍵字用于定義列為主鍵。 您可以使用多列來定義主鍵,列間以逗號分隔。

ENGINE 設(shè)置存儲引擎,CHARSET 設(shè)置編碼。

default 用于設(shè)置字段為空時的默認值

3.刪除表

現(xiàn)在我們來刪除一個student表:

mysql> drop table student;
Query OK, 0 rows affected (0.07 sec)

這種刪除方法,如果表不存在會發(fā)生一個錯誤,我們可以通過下面的寫法來提升SQL的魯棒性:

如果表存在,則進行刪除,否則不刪除:

mysql> drop table if exists student;
Query OK, 0 rows affected, 1 warning (0.00 sec)

4.插入數(shù)據(jù)

MySQL 表中使用 INSERT INTO SQL語句來插入數(shù)據(jù)。

mysql> insert into imustctf
    -> (ctf_name,ctf_age,ctf_date)
    -> values
    -> ('學習Mysql',18,NOW());
Query OK, 1 row affected, 1 warning (0.02 sec)

在以上實例中,我們并沒有提供 ctf_id 的數(shù)據(jù),因為該字段我們在創(chuàng)建表的時候已經(jīng)設(shè)置它為AUTO_INCREMENT(自動增加) 屬性。 所以,該字段會自動遞增而不需要我們?nèi)ピO(shè)置。實例中 NOW() 是一個 MySQL 函數(shù),該函數(shù)返回日期和時間

插入多條數(shù)據(jù):

mysql> insert into imustctf
    -> (ctf_name,ctf_age,ctf_date)
    -> values
    -> ('學習Mysql',18,NOW()),
    -> ('學習java',21,NOW()),
    -> ('學習Spring',27,NOW());
Query OK, 1 row affected, 1 warning (0.02 sec)

日期轉(zhuǎn)換函數(shù):

str_to_date函數(shù)可以將字符串轉(zhuǎn)化為日期類型:

語法格式:

str_to_date('字符串日期','日期格式')

例如:

str_to_date('01-11-1998','%d-%m-%Y')

注意:如果你的字符串日期格式是1990-08-11,則不需要使用str_to_date函數(shù)進行轉(zhuǎn)換,Mysql會自動進行字符串轉(zhuǎn)日期類型

日期格式化顯示函數(shù):

date_format函數(shù)可以將日期轉(zhuǎn)換成特定格式的字符串

例子:

date_format(日期數(shù)據(jù),'日期格式')
date_format(birth,'%m/%d/%Y')

5.更新數(shù)據(jù)

如果我們需要修改或更新 MySQL 中的數(shù)據(jù),我們可以使用 SQL UPDATE 命令來操作。

mysql> update dept set DNAME = 'BBB' where DEPTNO = 70;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

6.刪除數(shù)據(jù)

你可以使用 SQL 的 DELETE FROM 命令來刪除 MySQL 數(shù)據(jù)表中的記錄。

例如:

mysql> delete from dept where DEPTNO = 70;
Query OK, 1 row affected (0.02 sec)

7.快速復(fù)制表

將查詢的結(jié)果放入一張新表:

以下將創(chuàng)建一張新表,表的內(nèi)容是emp里的內(nèi)容:

mysql> create table temp as select * from emp;
Query OK, 14 rows affected (0.05 sec)
Records: 14  Duplicates: 0  Warnings: 0

8.快速刪除表數(shù)據(jù)

delete語句刪除數(shù)據(jù)原理:

只是將數(shù)據(jù)庫中的數(shù)據(jù)刪除,而在物理存儲的數(shù)據(jù)并未刪除,依然占用著一定的空間,所以可以進行回滾回復(fù)數(shù)據(jù)??

缺點:刪除效率比較低

優(yōu)點:支持回滾數(shù)據(jù)

下面我們來介紹一個快速刪除表數(shù)據(jù)的語法:truncate

mysql> truncate table dept_bak;

此操作會刪除表中的全部數(shù)據(jù),并且無法回滾,優(yōu)點是刪除的效率較高,主要用于億級大表刪除操作

到此這篇關(guān)于MySQL數(shù)據(jù)庫中表的操作詳解的文章就介紹到這了,更多相關(guān)MySQL 表操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論