日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql的基础使用之SQL原生语句的使用:表的 创建 删除 修改 (一)

發布時間:2024/6/21 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql的基础使用之SQL原生语句的使用:表的 创建 删除 修改 (一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇主要講的是關于Mysql的分支MariaDB在Linux下的安裝?順利安裝完成的小伙伴,就可以接著來試試SQL的魅力了

?紅色為命令 藍色為自定義名

查看數據庫

?

MariaDB [(none)]> show databases; #查看數據庫列表 +--------------------+ | Database | +--------------------+ | information_schema | #數據庫名稱 例:本地有四個數據庫 (數據庫里保存的是table 數據表) | human | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.00 sec)

?

首先我們先創建一個數據庫

?

創建數據庫 

  

MariaDB [(none)]> create database data_name; #創建數據庫 data_name為創建的自定義數據庫名字
                                 (注:創建的database不加s后綴,新手可別把查看數據庫命令的databases搞混了)
Query OK,
1 row affected (0.00 sec) #表示SQL語句執行成功

?

 然后我們進入剛才創建的數據庫

  

MariaDB [(none)]> use data_name; #進入數據庫庫 data_name表示進入的數據庫名 Database changed #當前進入的數據庫已經更改

?

這里首先要講的是簡單的創建

在數據庫中創建一個數據表

  

MariaDB [data_name]> create table table_name (id int not null ,name varchar(20)); #創建簡單數據表 table_name 表示創建的數據表名字  id表示這個數據表第一列的列名 int表示這列的可插入數據為整型 not null 設置約束為不可為空5種約束 name表示第二列的列名  varchar(20)為字符類型 20是這列數據字符長度只能最多是20      Query OK, 0 rows affected (0.06 sec)

?

查看一下我們數據庫里新建的table表

 

MariaDB [data_name]> show tables; #查看當前數據庫的所有數據表(包括視圖表) +---------------------+ | Tables_in_data_name | +---------------------+ | table_name | # table數據表的名字 +---------------------+ 1 row in set (0.00 sec)

?

 

?查看數據表的結構的兩種方式

方法一(適合查看此table數據表有什么列名和約束)

describe 可以用desc縮寫來代替

 

MariaDB [data_name]> describe table_name; #查看table數據表結構的方法一 (直觀可以看清楚數據表的列與綁定的約束) +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | #field :列名 type:插入數據類型 null:是否為非空約束 NO說明不能為空(插入數據如果為空,插入SQL會失敗) +-------+-------------+------+-----+---------+-------+ #KEY: 主鍵約束或外鍵約束 (空表示沒有約束)   default:表示當插入數據為空時默認插入 (空代表w為null) | id | int(11) | NO | | NULL | | #Extra: 中出現的信息一般不是太重要 對Extra等列意義深究的請查看別人的博客點擊此處 | name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)

?

 

?方法二(適合查看細節 查詢約束名的好辦法)

?

MariaDB [data_name]> show create table table_name; #查看table數據表的創建的SQL語句 (可以看出當時這個數據表創建而使用的SQL語句方便查閱約束名和設置的約束其他的細節) +------------+-------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +------------+-------------------------------------------------------------------------------------------------------------------------------+ | table_name | CREATE TABLE `table_name` ( # ENGINE: 表示這個表類型,目前Mysql最常用的是MyISAM、InnoDB兩種表類型 各有各優勢 兩表的區別點擊這里|   `id` int(11) NOT NULL, # CHARSET: 表示這個表的字符編碼為Latin1(不支持中文)可以設置主流的gb2312 或utf8修改編碼的具體方式點擊這里|   `name` varchar(20) DEFAULT NULL # 有關中文字符編碼的一勞永逸具體的設定解決辦法在這|    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | +------------+-------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)

?

是不是感覺上面的表好難受,怎么看都不爽,治療強迫癥的患者們,myslq 提供了強迫癥的治療方法 ↓

  

MariaDB [data_name]> show create table table_name\G # 這里吧;改成了\G 發現顯示的樣式又不同了,更加養眼了(強迫癥的福音) \G不光是這里,
                                所有顯示的的SQL語句都可以用\G來代替;
*************************** 1. row ***************************Table: table_name Create Table: CREATE TABLE `table_name` (`id` int(11) NOT NULL,`name` varchar(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec)

?

************************************** 我是動感光波****************************************

?

數據表的字段修改?

喝杯茶,休息一下

?

有一天項目經理說忘了告訴你這個表缺少重要的一個字段,友誼的小船說翻就翻,但是別擔心重做,SQL提供了反悔的機會可以任意添加或刪除列

?

數據表字段的添加

  

MariaDB [data_name]> alter table table_name add phone varchar(11); # 往數據表table_name添加一列 phone的 數據類型為字符串 最大長度為11 Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0

?

?數據表字段的刪除

?

MariaDB [data_name]> alter table table_name drop phone; # 刪除數據表table_name中的phone列
                                 (這比添加簡單多了,果然毀滅比創造要簡單多了 但是一切的創造不都是建立在毀滅之后嗎?)
Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0

?

如果是一個列的設置出錯刪除再修改一遍不會是很麻煩嗎?這里有懶人辦法 , 刪除添加二合一 小霸王修改機  

?數據表字段的修改

MariaDB [data_name]> alter table table_name change name username varchar(20); # 更改數據表table_namename字段名 為username 更改數據類型varchar 最大長度為20 Query OK, 0 rows affected (0.05 sec)                   后面可以修改添加約束 Records: 0 Duplicates: 0 Warnings: 0

?

?

  這里還有其他方法,可以改變類型卻不能改變字段名的SQL語句方法

  alter table table_name modify name char(20); ?

這種方法可以用change的新舊名字相同的方法來實現相同的效果,即change為小萬能

?

最后一個 懶人神器 ?——模板建表

?

一 ?拓展表的好助手

 

MariaDB [data_name]> create table copy1_table_name like table_name; # 復制表結構table_name創建copy1_table_name 表(這種方法不復制此表的內部數據) Query OK, 0 rows affected (0.06 sec)

?

二 備份表的好助手

  

MariaDB [data_name]> create table copy2_table_name as select * from table_name; #復制表結構table_name創建copy1_table_name 表(這種方法復制此表的內部數據)Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0

?

這次的就到這,如果還缺少什么,或寫錯什么歡迎指出!

轉載于:https://www.cnblogs.com/AdaterCat/p/5854012.html

總結

以上是生活随笔為你收集整理的Mysql的基础使用之SQL原生语句的使用:表的 创建 删除 修改 (一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。