溫馨提示×

溫馨提示×

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

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

mysql入門基本語句介紹

發(fā)布時間:2020-05-13 10:16:04 來源:億速云 閱讀:257 作者:三月 欄目:系統(tǒng)運(yùn)維

文主要給大家介紹mysql入門基本語句,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下mysql入門基本語句吧。

MYSQL入門基本語句
登錄鏈接MYSQL
mysql -u(用戶名) -p(密碼) -h(主機(jī)名)
DDL語句  數(shù)據(jù)庫定義語言     數(shù)據(jù)庫,表,視圖,索引,存儲過程,例如CREATE DROP ALTER
create database 數(shù)據(jù)庫名;   #創(chuàng)建數(shù)據(jù)庫,大寫也是可以
show databases;         #查看數(shù)據(jù)庫
select database();       #顯示當(dāng)前所在庫
use 數(shù)據(jù)庫名;         #具體使用哪一個數(shù)據(jù)庫
drop databas 數(shù)據(jù)庫名;     #刪除數(shù)據(jù)庫
help drop    查看命令幫
數(shù)值類型:
   整數(shù)類型        TINYINT SMALLTNT MEDIUMINT INT BIGINT
   浮點(diǎn)數(shù)類型    FLOAT DOUBLE
   定點(diǎn)數(shù)類型    DEC
   位類型        BIT
字符串類型:
   CHAR系列        CHAR VARCHAR
   TEXT系列        TINYTEXT TEXT MEDIUMTEXT LONGTEXT
   BLOB系列        TINYBLOB BLOB MEDIUMBLOB LONGBLOB
   BINARY系列    BINARY VARBINARY
   枚舉類型:        ENUM
   集合類型        SET
時間和日期類型: DATE TIME  DATETIME TIMESTAMP  YEA
PRIMARY KEY (PK)    #主鍵
FOREIGN KEY (FK) #外鍵
NOT NULL      #標(biāo)識該字段不能為空
UNIQUE KEY (UK)   #標(biāo)識該字段是唯一的,可以為空,一個表中可以多個UNIQUE KEY
AUTO_INCREMENT      #標(biāo)識該字段的值自動增長(整數(shù)類型,而且為主鍵)
DEFAULT             #為該字段設(shè)置默認(rèn)值
UNSIGNED     #無符號,正數(shù)
ZEROFILL         #使用0填充,例如00000001
mysql入門基本語句介紹
desc table,show create table; #查看
create table 表名(
  字段名1 類型 ((寬度)約束條件),
  字段名2 類型 ((寬度)約束條件),
  字段名3 類型 ((寬度)約束條件),
); #創(chuàng)建一個
default '值' #默認(rèn)值
not null   #不為空
enum('m','f') #枚舉類型
age int unsigned #不含符號的整型
set('disc','boos','music') #設(shè)置一個合集的值
primary key auto_increment; #主鍵為自增
primary key(ip,service); #定義一個復(fù)合主鍵
primary key(name); #定義一個外
insert into 表名 values(3,'alice','f',18);  插入數(shù)值,可以是多
增加字段
ALTER TABLE 表名 #增加字段
       ADD 字段名 數(shù)據(jù)類型[完整性約束條件...];
ALTER TABLE 表名
       ADD 字段名 數(shù)據(jù)類型[完整性約束條件...] FIRST;
ALTER TABLE 表名
       ADD 字段名 數(shù)據(jù)類型[完整性約束條件...] AFTER 字段名;
刪除字段
   ALTER TABLE 表名 DROP 字段名
修改字段
   ALTER TABLE 表名
       MODIFY 字段名 數(shù)據(jù)類型 [完整性約束條件....];
   ALTER TABLE 表名
       CHANGE 舊字段名 新字段名 新數(shù)據(jù)類型 [完整性約束條件...];
   ALTER TABLE 表名
       CHANGE 舊字段名 新字段名 新數(shù)據(jù)類型 [完整性約束條件...];
刪除主鍵
先刪除自增屬性,再刪除主鍵屬性,不然會報錯
MySQL [school]> alter table t1 modify id int not null;    先刪除自增屬性
MySQL [school]> alter table t1 drop primary key;            在刪除主鍵屬性
alter table t1 drop 姓名
復(fù)制表
復(fù)制結(jié)構(gòu)+記錄(key不會復(fù)制:主鍵,外鍵和索引)
create table t1_new select * from t1;         創(chuàng)建一個新表復(fù)制原有表的結(jié)構(gòu)跟數(shù)據(jù)
create table t1_new3 select * from t1 where 1=5;     復(fù)制表結(jié)構(gòu),不帶數(shù)據(jù)
MySQL [school]> create table t4 like t1;        #復(fù)制表結(jié)構(gòu),包括ke
刪除表 DROP TABLE 表名;        #刪除表名
drop table 表名;

       ####查出完整數(shù)據(jù)###
insert into 表名 values (值1,值2,值3...
###指定字段插入數(shù)據(jù)###
insert into  表名(字段2,字段3...) values (值2,值3...
###插入多條記錄###
insert int 表名 values
(值1,值2,值3...),
(值1,值2,值3...),
(值1,值2,值3...)
###插入查詢結(jié)果###
insert into 表1(字段1,字段2,...)
select(字段1,字段2) from 表2
where ...
###更新數(shù)據(jù)UPDATE###
update 表名 set
字段1 = 值1,
字段2 = 值2,
where ...
###刪除數(shù)據(jù)DELETE###
delete from 表名
where ...; #一定要加條件不然全部刪除

       MYSQL事務(wù)的處
begin
start transaction;               #手動開啟事
insert into t_user(name) values('pp');
commit ;                            #commit之后即可改變底層數(shù)據(jù)庫數(shù)據(jù)
roollback                            #回滾
commit;                                #提交事
1. 事物A和事物B之間具有一定的隔離性
2. 隔離性有隔離級別(4個)
? 讀未提交:read uncommitted
? 讀已提交:read committed
? 可重復(fù)讀:repeatable read
? 串行化:serializabl
默認(rèn)自動提交事務(wù)
set autocommit=0    禁止自動提交
set autocommit=1    開啟自動提交

       ####設(shè)置外鍵約束 FOREIGN key
父表 company.demofu
mysql> create employees(
   -> name varchar(50) not null,
   -> mail varchar(20),
   -> primary key(name))
子表company.payroll
mysql> create table demozi(
id int auto_increment,
name varchar(50) not null,
payroll float(8,2) not null,
primary key(id),
foreign key(name) references demofu(name) on update
cascade on delete cascade);   #設(shè)置外鍵同步附表的name字
插入數(shù)值
mysql> insert into demofu values
   -> ('圓圓','yuanyuan@163.com'),
   -> ('大大','dada@126.com')
mysql> insert into demozi(name,payroll) values ('趙趙',1000);
錯誤1452(23000):無法添加或更新子行:外鍵約束失?。ā皊tudent”,“demozi”,constraint“demozi_ibfk_1”
外鍵(“name”)在更新級聯(lián)的DELETE CASCADE上引用“demofu”(“name”)
解釋:
設(shè)置外鍵后,子表會同步外表里面的字段數(shù)據(jù),如果附表沒有該數(shù)據(jù),則
無法添
mysql> update demofu set name='亞慶' where name='圓圓';
mysql> select * from demozi;
+----+--------+---------+
| id | name   | payroll | #得出結(jié)論,子表的外鍵與附表的字段
+----+--------+---------+ 保持一致
|  1 | 亞慶   | 8000.00 |
+----+--------+---------
mysql> delete from demofu where name='亞慶';  #父表數(shù)據(jù)刪除子表也會刪
mysql> select * from demozi;
Empty set (0.00 sec)

看完以上關(guān)于mysql入門基本語句,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI