mysql的操作

來源:互聯網
上載者:User

標籤:

登入mysql     mysql -h hostname -u username -p       密碼

mac下啟動mysql

在終端的本人使用者名稱下的   .bash_profile的檔案裡添加

export PATH=/usr/local/mysql/support-files/:$PATH     path路徑

然後終端輸入sudo mysql.server (start 啟動    restart  重啟  stop停止)

\s   查看資料庫資訊

建立資料庫

不帶字元編碼的    create database  資料庫名稱 ;

帶字元編碼的      create database  資料庫名稱  charset=‘utf8‘;

查看資料庫

show databases;

查看一個已經建立的資料庫資訊

show create database 資料庫名稱;

修改資料庫編碼

alter database 資料庫名稱 default character set 編碼方式 collate 編碼方式_bin;

刪除資料庫

drop database 資料庫名稱;

登入資料庫
use 資料庫名;

-----------------------------------------

查看錶中的列
SHOW COLUMNS FROM 表名;
DESCRIBE 表名;
desc 表名;

查看資料庫中的表

show tables;

建表文法:
CREATE TABLE 表名(
    欄位1 資料類型 約束,
    欄位2 資料類型 約束,
    ...
    欄位n 資料類型 約束
);

查看已建表的資訊
show create table 表名;
刪除表
drop table 表名;

約束:

表的約束
主鍵、外鍵、非空、唯一、預設

如果定義為主鍵,那它也一點唯一和非空
單欄位主鍵
欄位名 資料類型 primary key
多欄位主鍵
欄位名 資料類型 (欄位名1,欄位名2,欄位名3,欄位名4,欄位名5,....欄位名n)
非空約束
欄位名 資料類型 not null
唯一約束
欄位名 資料類型 unique;
預設約束
欄位名 資料類型 default 預設值;
表欄位的自動成長
欄位名 資料類型 auto_increment;
外鍵約束
 FOREIGN KEY
建立在兩表或多張表中的關聯關係,以保證資料完整性
注意:1.子表參照的值必須在主表被參照欄位的值的範圍內
      2.如果主表中有值被參照,那麼主表中的相應記錄不能被刪除
      3.子表的外鍵參照的列只能是主表的主鍵列或唯一約束的列

CREATE TABLE class(
    cid INT PRIMARY KEY auto_increment,
    cname VARCHAR(20)

)ENGINE=INNODB;

CREATE TABLE student(
    sid INT PRIMARY KEY auto_increment,
    sname VARCHAR(20),
    scid INT,

    -- FOREIGN KEY (scid) REFERENCES class(cid)

    CONSTRAINT fk_scid FOREIGN key(scid) REFERENCES class(cid)

)ENGINE=INNODB;

DROP TABLE student;
DROP TABLE class;

文法1: FOREIGN KEY (外鍵欄位) REFERENCES 主表(主鍵欄位);
文法2: CONSTRAINT 外鍵名 FOREIGN KEY (外鍵欄位) REFERENCES 主表(主鍵欄位); 

(外鍵名:fk_欄位名)

 

建表後的操作:
修改表名:
alter table 舊錶名 rename to 新表名;
修改表裡欄位名
alter table 表名 change 舊欄位名 新欄位名 新資料類型;
修改欄位的資料類型
alter table 表名 modify 欄位名 資料類型;
添加欄位
alter table 表名 add 新欄位名 資料類型;-----約束
刪除欄位
alter table 表名 drop 欄位名;
修改欄位的排列位置
alter table 表名 modify 欄位名 1 資料類型 first|after 欄位名 2;

查表

select * from 表名;

1.DELETE
文法:delete FROM 表名 [where 條件]

注意:刪除都是指刪除整條資料
delete刪除資料不會徹底刪除,會保留表的結構以及資料空間結構
如果刪除時不指明條件,表示將整張表資料刪除

--刪除所有年齡為18歲的學生
DELETE FROM student where sage = 18;

--刪除所有年齡為17歲並且學習英語軟體專業的學生資訊
DELETE FROM student where sage = 17 AND szhuanye = ‘英語軟體‘;
DELETE FROM student where sage = 17 OR szhuanye = ‘英語軟體‘;

 

 

 


CREATE table test(
tid int PRIMARY KEY auto_increment,
ttt VARCHAR(10)

);


like not like ‘%字元‘ ‘字元%‘ ‘字%符’

INSERT INTO test(ttt) values("a");
INSERT INTO test(ttt) values("b");
INSERT INTO test(ttt) values("c");


DELETE FROM test WHERE tid = 5;

2.TRUNCATE
文法:truncate table 表名;

注意:truncate表示將整張的內容全部刪除,保留表結構,釋放資料空間
TRUNCATE TABLE test;

3.drop
文法:drop table 表名;
注意:慎用,將整張表全部刪除

UPDATE

文法:update 表名 set 列1 = 值1,列2 = 值2... [WHERE 條件]

注意:如果不跟where條件,那麼表示將表中的所有資料都進行修改


--修改學生表中的學員的年齡為20歲
UPDATE student SET sage = 20;

--修改學號為5的學生的姓名為‘lucy‘
UPDATE student set sname = ‘lucy‘ WHERE sid = 5;

--修改學號為2的學生的年齡為18歲,班級id改為1001
UPDATE student SET sage =18,cid = 1001 WHERE sid = 2;

INSERT

CREATE TABLE student(
sid INT PRIMARY KEY auto_increment,
sname VARCHAR(10),
sage int

);

不指定欄位添加資料,必須為表中的每個欄位都添加資料
注意:值的順序必須和表中欄位順序一致

INSERT INTO 表名 VALUES (值1,值2,...值n);

INSERT INTO student VALUES(101,‘lily‘,20);

指定欄位添加資料
注意:在指定欄位時,欄位順序必須和建表時一致
INSERT INTO student(sname,sage) values(‘lucy‘,20);


DROP TABLE student;


CREATE TABLE class(
cid INT PRIMARY KEY,
cname VARCHAR(10)

)ENGINE=INNODB;

CREATE DATABASE tt ENGINE=INNODB;

CREATE TABLE student(
sid INT PRIMARY KEY auto_increment,
sname VARCHAR(10),
sage int,
cid INT,
FOREIGN KEY(cid) REFERENCES class(cid)

)ENGINE=INNODB;

DROP TABLE student;
DROP table class;

INSERT INTO class(cid,cname) VALUES (1,"class1");
INSERT INTO class(cid,cname) VALUES (2,"class2");
INSERT INTO class(cid,cname) values(1001,"class3");

INSERT INTO student(sname,sage,cid) values(‘lily‘,19,2);
INSERT INTO student(sname,sage,cid) values("lucy",20,10001);


CREATE TABLE ttt(
ttt int
);

mysql的操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.