中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫的基本命令有哪些

發布時間:2021-12-21 09:35:26 來源:億速云 閱讀:174 作者:小新 欄目:MySQL數據庫

小編給大家分享一下MySQL數據庫的基本命令有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一、概述

數據庫結構

數據庫–>數據表–>行(記錄):用來描述一個對象的信息
              列(字段):用來描述對象的一個屬性

常用數據類型

類型說明
int整型
float單精度浮點-------4字節32位
double雙精度浮點-------8字節64位
char固定長度的字符類型
varchar可變長度的字符類型
text文本
image圖片
decimal (5,2)5個有效長度數字,小數點后面有2位

補充
char 最多能存放字符個數255個,char 如果存入數據的實際長度比指定長度要小,會補空格至指定長度;如果存入的數據的實際長度大于指定長度,低版本會被截取,高版本會報錯。
char的長度是不可變的,而varchar的長度是可變的,也就是說,定義一個char[10]和varchar[10],如果存進去的是‘csdn’,那么char所占的長度依然為10,除了字符‘csdn’外,后面跟六個空格,而varchar就立馬把長度變為4了

varchar存儲規則:
4.0版本以下,varchar(20),指的是20字節,如果存放UTF8漢字時,只能存6個(每個漢字3字節)
5.0版本以上,varchar(20),指的是20字符,無論存放的是數字、字母還是UTF8漢字(每個漢字3字節),都可以存放20個,最大大小是65532字節。

二、查看數據庫結構

查看當前服務器中的數據庫

SHOW DATABASES;		#不區分大小寫,分號“;”表示結束

MySQL數據庫的基本命令有哪些

查看數據庫中包含的表

USE 數據庫名;SHOW TABLES;

MySQL數據庫的基本命令有哪些

查看表的結構(字段)

方法1USE 數據庫名;可縮寫成:DESC 表名;方法2DESCRIBE  數據庫名.表名;

MySQL數據庫的基本命令有哪些

三、SQL語句介紹

SQL語句用于維護管理數據庫,包括數據查詢、數據更新、訪問控制、對象管理等功能。

分類說明
DDL數據定義語言,用于創建數據庫對象,如庫、表、索引等
DML數據操縱語言,用于對表中的數據進行管理
DQL數據查詢語言,用于從數據表中查找符合條件的數據記錄
DCL數據控制語言,用于設置或者更改數據庫用戶或角色權限

四、創建及刪除數據庫和表(DDL)

創建新的數據庫

CREATE DATABASE 數據庫名;例如:create database arts;

MySQL數據庫的基本命令有哪些

創建新的表

CREATE TABLE 表名 (字段1 數據類型,字段2 數據類型[,...][,PRIMARY KEY (主鍵名)]);#主鍵一般選擇能代表唯一性的字段不允許取空值(NULL),一個表只能有一個主鍵。例:create database arts;use arts;create table star (id int not null,name char(20) not null,sex char(2),primary key (id));desc star;

MySQL數據庫的基本命令有哪些

刪除指定數據表

如不用USE進入庫中,則需加上數據庫名DROP TABLE 數據庫名.表名;				進入數據庫,則直接加表名drop table 表名

MySQL數據庫的基本命令有哪些

刪除指定的數據庫

DROP DATABASE 數據庫名;

MySQL數據庫的基本命令有哪些

五、管理表中數據記錄(DML)

向數據表中插入新的數據記錄

INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);例:create database market;use market;create table star (id int(3) not null,name char(20),sex char(2),age int(3),passwd varchar(50), primary key (id));insert into star (id,name,sex,age,passwd) values(1,'zz','男',18,12345678);select * from star;

MySQL數據庫的基本命令有哪些
補充密碼加密

MySQL數據庫的基本命令有哪些

查詢數據記錄

SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 條件表達式];例:select * from star;select name,sex from star where id=1;

MySQL數據庫的基本命令有哪些
以列表方式豎向顯示

MySQL數據庫的基本命令有哪些

只顯示頭2行
MySQL數據庫的基本命令有哪些
顯示第2行后的前3行

MySQL數據庫的基本命令有哪些

修改、更新數據表中的數據記錄

UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 條件表達式];例:update star set age=33 where name='pp';select * from star;

MySQL數據庫的基本命令有哪些

在數據表中刪除指定的數據記錄

DELETE FROM 表名 [WHERE 條件表達式];例:delete from star where id=6;select * from star;

MySQL數據庫的基本命令有哪些

六、修改表名和表結構

修改表名

ALTER TABLE 舊表名 RENAME 新表名;例:alter table star rename art;

MySQL數據庫的基本命令有哪些

擴展表結構(增加字段)

ALTER TABLE 表名 ADD address varchar(50) default '地址不詳';#default ‘地址不詳’:表示此字段設置默認值 地址不詳;可與 NOT NULL 配合使用例:alter table star add address varchar(50) default '地址不詳';

MySQL數據庫的基本命令有哪些

修改字段(列)名,添加唯一鍵

ALTER TABLE 表名 CHANGE 舊列名 新列名 數據類型 [unique key];例:alter table star change name art_name varchar(20) unique key;select * from star;

MySQL數據庫的基本命令有哪些

刪除字段

ALTER TABLE 表名 DROP 字段名;例:alter table star drop address;

MySQL數據庫的基本命令有哪些

擴展

CREATE DATABASE school;use school;create table if not exists info (id int(4) zerofill primary key auto_increment,				#指定主鍵的第二種方式name varchar(10) not null,cardid int(18) not null unique key,hobby varchar(50));#---------------命令解釋--------------------------------#if not exists:表示檢測要創建的表是否已存在,如果不存在就繼續創建#int(4) zerofill:表示若數值不滿4位數,則前面用“0”填充,例0001#auto_increment:表示此字段為自增長字段,即每條記錄自動遞增1,默認從1開始遞增;自增長字段數據不可以重復;自增長字段必須是主鍵;如添加的記錄數據沒有指定此字段的值且添加失敗也會自動遞增一次#unique key:表示此字段唯一鍵約束,此字段數據不可以重復;一張表中只能有一個主鍵, 但是一張表中可以有多個唯一鍵#not null:表示此字段不允許為NULL

MySQL數據庫的基本命令有哪些
MySQL數據庫的基本命令有哪些
MySQL數據庫的基本命令有哪些

七、數據表高級操作

克隆表,將數據表的數據記錄生成到新的表中

方法一

create table test1 like info;  #通過 LIKE 方法,復制 info 表結構生成 test1 表insert into test1 select * from info;

MySQL數據庫的基本命令有哪些

方法二

CREATE TABLE test2 (SELECT * from info);show create table test2\G;					#獲取數據表的表結構、索引等信息SELECT * from test2;

MySQL數據庫的基本命令有哪些
MySQL數據庫的基本命令有哪些

清空表,刪除表內的所有數據

方法一:記錄ID未刪除

delete from test1;#DELETE清空表后,返回的結果內有刪除的記錄條目;DELETE工作時是一行一行的刪除記錄數據的;如果表中有自增長字段,使用DELETE FROM 刪除所有記錄后,再次新添加的記錄會從原來最大的記錄 ID 后面繼續自增寫入記錄。

MySQL數據庫的基本命令有哪些

方法二:刪除記錄ID

truncate table test2;#TRUNCATE 清空表后,沒有返回被刪除的條目;TRUNCATE 工作時是將表結構按原樣重新建立,因此在速度上 TRUNCATE 會比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表內數據后,ID 會從 1 開始重新記錄。

MySQL數據庫的基本命令有哪些

創建臨時表

臨時表創建成功之后,使用SHOW TABLES命令是看不到創建的臨時表的,臨時表會在連接退出后被銷毀。 如果在退出連接之前,也可以可執行增刪改查等操作,比如使用 DROP TABLE 語句手動直接刪除臨時表。

CREATE TEMPORARY TABLE 表名 (字段1 數據類型,字段2 數據類型[,...][,PRIMARY KEY (主鍵名)]);例:create temporary table test3 (id int(4) zerofill primary key auto_increment,name varchar(10) not null,sex char(2) not null);insert into test3 values(1,'as','男');select * from test3;show tables;quit;mysql -u root -pselect * from test3;

MySQL數據庫的基本命令有哪些

創建外鍵約束,保證數據的完整性和一致性

外鍵的定義:如果同一個屬性字段X在表一中是主鍵,而在表二中不是主鍵,則字段X稱為表二的外鍵。

主鍵表和外鍵表的理解:
以公共關鍵字作主鍵的表為主鍵表(父表、主表)
以公共關鍵字作外鍵的表為外鍵表(從表、外表)

注意:與外鍵關聯的主表的字段必須設置為主鍵。要求從表不能是臨時表,主從表的字段具備相同的數據類型、字符長度和約束。

#創建主表test4create table test4 (hobid int(4),hobname varchar(50));#創建從表test5create table test5 (id int(4) primary key auto_increment,name varchar(10),age int(3),hobid int(4));#為主表test4添加一個主鍵約束,主鍵名建議以“PK_”開頭alter table test4 add constraint PK_hobid primary key (hobid);#為從表test5表添加外鍵,并將test5表的hobid字段和test4表的hobid字段建立外鍵關聯,外鍵名建議以“FK_”開頭alter table test5 add constraint FK_hob foreign key (hobid) references test4 (hobid);desc test5;

MySQL數據庫的基本命令有哪些
插入新的數據記錄時,要先主表再從表

insert into test4 values (1,'reading');insert into test5 values (1,'ad',18,1);

MySQL數據庫的基本命令有哪些
刪數據記錄時,要先從表再主表,也就是說刪除主鍵表時必須要先刪除其他與之相關聯的表

drop tables test5;drop tables test4;

MySQL數據庫的基本命令有哪些
查看和刪除外鍵約束

show create table test5\G;alter table test5 drop foreign key FK_hob;alter table test5 drop key FK_hob;desc test5;

MySQL數據庫的基本命令有哪些

MySQL中6種常見的約束

主鍵約束(primary key)外鍵約束(foreign key)非空約束(not null)唯一性約束(unique [key|index])默認值約束(default)自增約束(auto_increment)

八、數據庫用戶授權

新建用戶

USER '用戶名'@'來源地址' [IDENTIFIED BY [PASSWORD] '密碼'];#----------------------解釋部分-----------------------------------------'用戶名':指定將創建的用戶名'來源地址':指定新創建的用戶可在哪些主機上登錄,可使用IP地址、網段、主機名的形式,
          本地用戶可用localhost,允許任意主機登錄可用通配符%'密碼':若使用明文密碼,直接輸入'密碼',插入到數據庫時由Mysql自動加密;
       若使用加密密碼,需要先使用SELECT PASSWORD('密碼'); 獲取密文,再在語句中添加 PASSWORD '密文';
       若省略“IDENTIFIED BY”部分,則用戶的密碼將為空(不建議使用)#----------------------------------------------------------------------例如:create user 'test1'@'localhost' IDENTIFIED BY '123456';select password('123456');create user 'test2'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';

MySQL數據庫的基本命令有哪些

查看用戶信息

#創建后的用戶保存在 mysql 數據庫的 user 表里use mysql;select user,authentication_string,Host from user;

MySQL數據庫的基本命令有哪些

重命名用戶

rename user 'test1'@'localhost' to 'zz'@'localhost';

MySQL數據庫的基本命令有哪些

刪除用戶

drop user 'test2'@'localhost';

MySQL數據庫的基本命令有哪些

修改當前登錄用戶密碼

當前密碼為abc123

set PASSWORD = PASSWORD('123456');

MySQL數據庫的基本命令有哪些

修改其他用戶密碼

set PASSWORD for 'zz'@'localhost' = PASSWORD('abc123');

MySQL數據庫的基本命令有哪些

忘記 root 密碼的解決辦法

方法一:修改 /etc/my.cnf 配置文件,不使用密碼直接登錄到 mysql

vim /etc/my.cnf[mysqld]skip-grant-tables					#添加,使登錄mysql不使用授權表systemctl restart mysqld.servicemysql								#直接登錄

MySQL數據庫的基本命令有哪些
MySQL數據庫的基本命令有哪些

使用 update 修改 root 密碼,刷新數據庫

update mysql.user set AUTHENTICATION_STRING = PASSWORD('abc123') where user='root';FLUSH PRIVILEGES;quit;mysql -u root -pabc123注意:最后再把 /etc/my.cnf 配置文件里的 skip-grant-tables 刪除或注釋,并重啟 mysql 服務。

MySQL數據庫的基本命令有哪些

九、數據庫用戶授權

授予權限

GRANT語句:專門用來設置數據庫用戶的訪問權限。
當指定的用戶名不存在時,GRANT語句將會創建新的用戶;
當指定的用戶名存在時,GRANT 語句用于修改用戶信息。

格式GRANT 權限列表 ON 數據庫名.表名 TO '用戶名'@'來源地址' [IDENTIFIED BY '密碼'];#-------------------------------參數解釋---------------------------------------------------------------------------權限列表:  用于列出授權使用的各種數據庫操作,以逗號進行分隔,如“select,insert,update”。使用“all”表示所有權限,可授權執行任何操作。
          數據庫名.表名:  用于指定授權操作的數據庫和表的名稱,其中可以使用通配符“*”。例如,使用“test.*”表示授權操作的對象為 test數據庫中的所有表。
              '用戶名'@'來源地址':  用于指定用戶名稱和允許訪問的客戶機地址,即誰能連接、能從哪里連接。來源地址可以是域名、IP 地址,還可以使用“%”通配符,表示某個區域或網段內的所有地址,如“%.test.com”、“192.168.19.%”等。IDENTIFIED BY: 用于設置用戶連接數據庫時所使用的密碼字符串。在新建用戶時,若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。例如:#允許用戶 lili 在本地查詢 kky 數據庫中所有表的數據記錄,但禁止查詢其他數據庫中的表的記錄。GRANT select ON kky.* TO 'lili'@'localhost' IDENTIFIED BY 'abc123';flush privileges;quit;mysql -u lili -pabc123use kky;show tables;select * from info;其他授權例子:#允許用戶 pp 在所有終端遠程連接 mysql ,并擁有所有權限。GRANT ALL PRIVILEGES(可不寫) ON *.* TO 'pp'@'%' IDENTIFIED BY '123456';

MySQL數據庫的基本命令有哪些
MySQL數據庫的基本命令有哪些

查看權限

SHOW GRANTS FOR 用戶名@來源地址;例如:SHOW GRANTS FOR 'lili'@'localhost';

MySQL數據庫的基本命令有哪些

撤銷權限

REVOKE 權限列表 ON 數據庫名.表名 FROM 用戶名@來源地址;例如:REVOKE SELECT ON kky.* FROM 'lili'@'localhost';SHOW GRANTS FOR 'lili'@'localhost';#USAGE權限只能用于數據庫登陸,不能執行任何操作;USAGE權限不能被回收,即 REVOKE 不能刪除用戶。flush privileges;REVOKE ALL ON *.* FROM 'lili'@'localhost';

MySQL數據庫的基本命令有哪些

以上是“MySQL數據庫的基本命令有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜都市| 凤翔县| 湖口县| 崇信县| 连州市| 茌平县| 彰化县| 古蔺县| 仙居县| 新宾| 象山县| 屏山县| 本溪市| 凤凰县| 普兰店市| 鄂尔多斯市| 霍州市| 江油市| 彭州市| 延川县| 庆阳市| 奇台县| 剑阁县| 遂溪县| 崇仁县| 徐州市| 遵化市| 清水县| 平南县| 牙克石市| 台南县| 郴州市| 宿松县| 保亭| 都昌县| 长白| 宁津县| 阿克陶县| 安福县| 澄江县| 育儿|