數(shù)據(jù)庫
數(shù)據(jù)庫由表集合組成,它是以一定的組織方式存儲的相互有關(guān)的數(shù)據(jù)集合。
表:記錄:行,字段(屬性):列,以行+列的形式就組成了表(數(shù)據(jù)存儲在表中)。
關(guān)系數(shù)據(jù)庫的表由記錄組成,記錄由字段組成,字段由字符或數(shù)字組成。它可以供各種用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨(dú)立性,它是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。
數(shù)據(jù)庫工作模式
?接收應(yīng)用程序的數(shù)據(jù)請求和處理請求——》將用戶的高級語言轉(zhuǎn)換為低級語言,實(shí)現(xiàn)對數(shù)據(jù)庫的操作——》從數(shù)據(jù)庫的操作中接受查詢結(jié)果——》對查詢結(jié)果進(jìn)行處理 (格式轉(zhuǎn)換)將低級語言轉(zhuǎn)換為高級語言——》將處理結(jié)果返回給用戶文章來源:http://www.zghlxwxcb.cn/news/detail-684205.html
數(shù)據(jù)庫管理
查看數(shù)據(jù)庫信息 show databases
查看數(shù)據(jù)庫中的表信息 show tables
use 數(shù)據(jù)庫名 切換到數(shù)據(jù)庫中
show tables show tables in mysql
顯示數(shù)據(jù)表的結(jié)構(gòu) (字段 ) describe user;
Field:字段名稱
type: 數(shù)據(jù)類型
Null :是否允許為空
Key :主鍵
Type:數(shù)據(jù)類型
Null :是否允許為空
key :主鍵
Default :默認(rèn)值
Extra :擴(kuò)展屬性,例如:標(biāo)志符列 (標(biāo)識了種子,增量/步長) 1 2
id: 1 3 5 7
常用的數(shù)據(jù)類型
int:整型,用于定義整數(shù)類型的數(shù)據(jù)
float:單精度浮點(diǎn)4字節(jié)32位
double:雙精度浮點(diǎn)8字節(jié)64位
char:固定長度的字符類型,用于定義字符類型數(shù)據(jù)。
varchar:可變長度的字符類型
text:文本
image:圖片
decimal(5,2):5個有效長度數(shù)字,小數(shù)點(diǎn)后面有2位,指定長度數(shù)組。
注:Char如果存入數(shù)據(jù)的實(shí)際長度比指定長度要小,會補(bǔ)空格至指定長度,如果存入的數(shù)據(jù)的實(shí)際長度大于指定長度,低版本會被截取,高版本會報(bào)錯。
主鍵是唯一的,但主鍵可以由多個字段構(gòu)成。
相關(guān)命令
創(chuàng)建表
進(jìn)入數(shù)據(jù)庫 mysql -u root -p
查看數(shù)據(jù)庫 show databases;
查看表 show tables;
進(jìn)入數(shù)據(jù)庫 use 庫名
創(chuàng)建數(shù)據(jù)庫 create database 數(shù)據(jù)庫名;
創(chuàng)建表 create table 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型[,...][,primary key(主鍵名));
例: create table class (id int not noll,name char(10) not null,score decimal(5,2),passwd char(48) default'', primary key (id));
刪除表
drop database 刪除數(shù)據(jù)庫
drop table 刪除表
清空數(shù)據(jù)
全部清空 turncate table ky;
選擇性清空 delete from ky where level >=45;
創(chuàng)建、修改、更新數(shù)據(jù)表中的數(shù)據(jù)記錄
創(chuàng)建數(shù)據(jù) insert into class valuse(1,'zhangsan',90.5,123);
修改數(shù)據(jù) update zzz set passwd=PASSWORD('') where name='zhangsan';
update zzz set name='wangxiaoer',passwd=''where id=3;
查看數(shù)據(jù) select * from class;
修改表的結(jié)構(gòu)
添加表的字段 alter table 表名 add 字段1 數(shù)據(jù)類型
修改表的字段 alter 表名 change 舊列名 新列名 數(shù)據(jù)類型
刪除表的字段 alter 表名 drop 字段
查詢數(shù)據(jù)
select * from 表名; 可加where
select 字段1,字段2... from 表名; 可加where
只顯示前2行 select * from 表名 limit 2;
顯示第2行后的前3行 select * from 表名 limit 2,3;
查看表的結(jié)構(gòu) show create table ky30
創(chuàng)建臨時表
MySQL 的臨時表,顧名思義,就是臨時建立的表,并不會長期存在,主要用于保存一 些臨時數(shù)據(jù)。臨時表有個特性,就是只在當(dāng)前連接可見,當(dāng)前連接下可執(zhí)行增刪改查等操作, 當(dāng)連接被關(guān)閉后,臨時表就會被 MySQL 刪除,相關(guān)的資源也會被釋放。文章來源地址http://www.zghlxwxcb.cn/news/detail-684205.html
示例:
create temporary table xxx (
id int(4) zerofill primary key auto_ increment,
name varchar(10) not null,
cardid int(18) not null unique key,
hobby varchar(50));
insert into xxx values (1,'zhangsan',123456,'running') ;
select * from test03;
show tables;
quit
select * from test03;
復(fù)制,克隆表
create table yyy2 like yyy; 復(fù)制,復(fù)制yyy表結(jié)構(gòu)生成yyy2表
insert into yyy2 select * from yyy; 備份數(shù)據(jù)內(nèi)容
create table yyy2 (select * from yyy); 復(fù)制test 表數(shù)據(jù)到test02中
數(shù)據(jù)庫用戶授權(quán)
如需全部可將數(shù)據(jù)庫名改為(*)。
賦予本地權(quán)限
grant 權(quán)限列表 on 數(shù)據(jù)庫名.表名 to '用戶名'@'來源地址' [identified by '密碼'];
賦予外部連接權(quán)限
grant all privileges on 數(shù)據(jù)庫名.* to 'taotao'@'%' identified by '123456';
允許用戶lisi在所有終端遠(yuǎn)程連接mysql,并擁有所有權(quán)限。
flush privileges; #刷新權(quán)限
撤銷權(quán)限
revoke 權(quán)限列表 on 數(shù)據(jù)庫.表名 from '用戶名'@'來源地址'
查看用戶當(dāng)前權(quán)限
show grant for '用戶名'@'來源地址'
到了這里,關(guān)于數(shù)據(jù)庫的基本概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!