久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      本篇文章給大家?guī)砹薽ysql數(shù)據(jù)庫基本命令的相關(guān)知識(shí),mysql數(shù)據(jù)庫擁有一些基本明能例如能夠創(chuàng)建或者刪除表,下面我們一起來看一下應(yīng)該怎樣使用,希望對(duì)大家有幫助。

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      一、概述

      數(shù)據(jù)庫結(jié)構(gòu)

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

      常用數(shù)據(jù)類型

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

      補(bǔ)充
      char 最多能存放字符個(gè)數(shù)255個(gè),char 如果存入數(shù)據(jù)的實(shí)際長度比指定長度要小,會(huì)補(bǔ)空格至指定長度;如果存入的數(shù)據(jù)的實(shí)際長度大于指定長度,低版本會(huì)被截取,高版本會(huì)報(bào)錯(cuò)。
      char的長度是不可變的,而varchar的長度是可變的,也就是說,定義一個(gè)char[10]和varchar[10],如果存進(jìn)去的是‘csdn’,那么char所占的長度依然為10,除了字符‘csdn’外,后面跟六個(gè)空格,而varchar就立馬把長度變?yōu)?了

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

      二、查看數(shù)據(jù)庫結(jié)構(gòu)

      查看當(dāng)前服務(wù)器中的數(shù)據(jù)庫

      SHOW DATABASES;		#不區(qū)分大小寫,分號(hào)“;”表示結(jié)束

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      查看數(shù)據(jù)庫中包含的表

      USE 數(shù)據(jù)庫名;SHOW TABLES;

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      查看表的結(jié)構(gòu)(字段)

      方法1USE 數(shù)據(jù)庫名;可縮寫成:DESC 表名;方法2DESCRIBE  數(shù)據(jù)庫名.表名;

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      三、SQL語句介紹

      SQL語句用于維護(hù)管理數(shù)據(jù)庫,包括數(shù)據(jù)查詢、數(shù)據(jù)更新、訪問控制、對(duì)象管理等功能。

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

      四、創(chuàng)建及刪除數(shù)據(jù)庫和表(DDL)

      創(chuàng)建新的數(shù)據(jù)庫

      CREATE DATABASE 數(shù)據(jù)庫名;例如:create database arts;

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      創(chuàng)建新的表

      CREATE TABLE 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型[,...][,PRIMARY KEY (主鍵名)]);#主鍵一般選擇能代表唯一性的字段不允許取空值(NULL),一個(gè)表只能有一個(gè)主鍵。例: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數(shù)據(jù)庫基本命令(總結(jié)分享)

      刪除指定數(shù)據(jù)表

      如不用USE進(jìn)入庫中,則需加上數(shù)據(jù)庫名DROP TABLE 數(shù)據(jù)庫名.表名;				進(jìn)入數(shù)據(jù)庫,則直接加表名drop table 表名

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      刪除指定的數(shù)據(jù)庫

      DROP DATABASE 數(shù)據(jù)庫名;

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

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

      向數(shù)據(jù)表中插入新的數(shù)據(jù)記錄

      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數(shù)據(jù)庫基本命令(總結(jié)分享)
      補(bǔ)充密碼加密

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      查詢數(shù)據(jù)記錄

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      以列表方式豎向顯示

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      只顯示頭2行
      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      顯示第2行后的前3行

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      修改、更新數(shù)據(jù)表中的數(shù)據(jù)記錄

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      在數(shù)據(jù)表中刪除指定的數(shù)據(jù)記錄

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      六、修改表名和表結(jié)構(gòu)

      修改表名

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      擴(kuò)展表結(jié)構(gòu)(增加字段)

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

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

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      刪除字段

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      擴(kuò)展

      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:表示檢測(cè)要?jiǎng)?chuàng)建的表是否已存在,如果不存在就繼續(xù)創(chuàng)建#int(4) zerofill:表示若數(shù)值不滿4位數(shù),則前面用“0”填充,例0001#auto_increment:表示此字段為自增長字段,即每條記錄自動(dòng)遞增1,默認(rèn)從1開始遞增;自增長字段數(shù)據(jù)不可以重復(fù);自增長字段必須是主鍵;如添加的記錄數(shù)據(jù)沒有指定此字段的值且添加失敗也會(huì)自動(dòng)遞增一次#unique key:表示此字段唯一鍵約束,此字段數(shù)據(jù)不可以重復(fù);一張表中只能有一個(gè)主鍵, 但是一張表中可以有多個(gè)唯一鍵#not null:表示此字段不允許為NULL

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      七、數(shù)據(jù)表高級(jí)操作

      克隆表,將數(shù)據(jù)表的數(shù)據(jù)記錄生成到新的表中

      方法一

      create table test1 like info;  #通過 LIKE 方法,復(fù)制 info 表結(jié)構(gòu)生成 test1 表insert into test1 select * from info;

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      方法二

      CREATE TABLE test2 (SELECT * from info);show create table test2G;					#獲取數(shù)據(jù)表的表結(jié)構(gòu)、索引等信息SELECT * from test2;

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      清空表,刪除表內(nèi)的所有數(shù)據(jù)

      方法一:記錄ID未刪除

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      方法二:刪除記錄ID

      truncate table test2;#TRUNCATE 清空表后,沒有返回被刪除的條目;TRUNCATE 工作時(shí)是將表結(jié)構(gòu)按原樣重新建立,因此在速度上 TRUNCATE 會(huì)比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表內(nèi)數(shù)據(jù)后,ID 會(huì)從 1 開始重新記錄。

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      創(chuàng)建臨時(shí)表

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

      CREATE TEMPORARY TABLE 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型[,...][,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數(shù)據(jù)庫基本命令(總結(jié)分享)

      創(chuàng)建外鍵約束,保證數(shù)據(jù)的完整性和一致性

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

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

      注意:與外鍵關(guān)聯(lián)的主表的字段必須設(shè)置為主鍵。要求從表不能是臨時(shí)表,主從表的字段具備相同的數(shù)據(jù)類型、字符長度和約束。

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      插入新的數(shù)據(jù)記錄時(shí),要先主表再從表

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      刪數(shù)據(jù)記錄時(shí),要先從表再主表,也就是說刪除主鍵表時(shí)必須要先刪除其他與之相關(guān)聯(lián)的表

      drop tables test5;drop tables test4;

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      查看和刪除外鍵約束

      show create table test5G;alter table test5 drop foreign key FK_hob;alter table test5 drop key FK_hob;desc test5;

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      MySQL中6種常見的約束

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

      八、數(shù)據(jù)庫用戶授權(quán)

      新建用戶

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      查看用戶信息

      #創(chuàng)建后的用戶保存在 mysql 數(shù)據(jù)庫的 user 表里use mysql;select user,authentication_string,Host from user;

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      重命名用戶

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      刪除用戶

      drop user 'test2'@'localhost';

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      修改當(dāng)前登錄用戶密碼

      當(dāng)前密碼為abc123

      set PASSWORD = PASSWORD('123456');

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      修改其他用戶密碼

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      忘記 root 密碼的解決辦法

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

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      使用 update 修改 root 密碼,刷新數(shù)據(jù)庫

      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 服務(wù)。

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      九、數(shù)據(jù)庫用戶授權(quán)

      授予權(quán)限

      GRANT語句:專門用來設(shè)置數(shù)據(jù)庫用戶的訪問權(quán)限。
      當(dāng)指定的用戶名不存在時(shí),GRANT語句將會(huì)創(chuàng)建新的用戶;
      當(dāng)指定的用戶名存在時(shí),GRANT 語句用于修改用戶信息。

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)
      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      查看權(quán)限

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      撤銷權(quán)限

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

      一起聊聊MySQL數(shù)據(jù)庫基本命令(總結(jié)分享)

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)