命令列對mysql的基本操作

來源:互聯網
上載者:User

標籤:命令列   mysql   

 啟動mysql服務

    net start mysql 

(使用這個命令啟動mysql,需要把mysql註冊到服務列表中,如果是wamp內建的mysql註冊到服務列表還有點麻煩,如果有高手希望告知一二)


  登陸mysql:

    mysql -u root -p 斷行符號,輸入密碼。


  查看使用者:use mysql 斷行符號,select * from user; 斷行符號。這樣能列出所有使用者,但是比較亂,如果只需要查看使用者名稱、允許登陸的主機,那麼使用 select User,Host from user;


  建立使用者:

    create user ‘zhangxiansen‘@‘localhost‘ identified by ‘zhangxiansen‘;

如上命令就能建立一個帳號為zhangxiansen,1、密碼為zhangxiansen的使用者,第一個zhangxiansen是帳號,第二個zhangxiansen是密碼;2、@後面的是允許登陸的主機,可以是ip地址、localhost、%,%代表允許任何地方可以登陸,localhost只允許使用localhost登陸,ip地址只能在對應ip的機器上登陸。


  使用者授權:

    grant all on *.* to ‘zhangxiansen‘@‘localhost‘;

該命令可以給能用localhost登陸的zhangxiansen賬戶授予對所有資料所有表的所有許可權。1、all 代表所有許可權,如果只授予增刪許可權,則用add,delete代替all;2、第一個*代表所有資料庫,如果指定test_data資料庫,則用test_data代替第一個*,第二個*代表所有表,如果指定stu表,則用stu代替第二個*;3、to後面的就是指定授予許可權的使用者,同時還應該指定允許登陸的地址,即@後面的。


  (建立使用者以及授權在http://my.oschina.net/u/1179414/blog/202377有很詳細的解釋。)


  建立資料:

    create database test_data(資料庫名字,自己定義); 斷行符號。


  (在建立表之前需要指定在哪個資料庫中建,所以一般需要使用use命令,就像上面use mysql,指定對mysql資料庫進行操作。)


  建立表:

 create table stu(

  stuId int primary key auto_increment, -- primary key設定主鍵,auto_increment設定列自增。

  stuName varchar(15) not null,

  roomId int 

 );

 create table classRoom(

   roomId int primary key auto_increment,

   roomName int

 );

1、-- 是資料中的注釋;2、在最後一列後面不需要逗號;3、最後的收括弧後面需要加上分號。

  


  修改列屬性:

    alter table classRoom modify roomName char(10);

上面我建立classRoom表名字欄位是int型的,我們就可以用modify命令修改。1、classRoom是需要修改列的表;2、roomName需要修改的列。


  添加列:

    alter table stu add column age int not null;

該命令可以給stu表添加age列。1、stu需要添加列的表,age需要添加的列,後面跟上列的類型(必須)以及各種約束(自選)。


  添加外鍵:

    alter table stu constrain stu_room foreign key(roomId) references classRoom(roomId); 該命令可以給stu表的roomId添加外鍵約束。1、stu需要添加外鍵約束的表;2、stu_room外鍵名字,自訂;3、第一個roomId是stu表中的列,第二個則是classRoom中的列。添加外鍵還可以在建立表結構的時候就一併建立,例如:

 create table desk(

  deskId int primary key auto_increment,

  roomId int,

  constrain desk_room(外鍵名) foreign key(roomId) references classRoom(roomId)

 );

這樣同樣可以建立外鍵約束。


  建立主鍵:

如上,在id列後面 primary key 可以建立主鍵。如果主鍵有多列,例如:

 create table rectangle(

  wide int not null,

  len int not null,

  primary key(wide,len)

 );

這樣rectangle表的主鍵就由wide、len列組成。(這僅僅是個例子,意在說明多列主鍵的建立方法,在表結構設計上有問題。)

  

  增刪查改:

    insert into classRoom(roomName) values(‘402‘);

該命令就在classRoom表中插入一條資料,roomId是自增長,所以不需要手動插入值。

    insert into desk(roomId) values(1);

該命令可以在desk表中插入一條資料,由於roomId是外鍵,那麼在classRoom表中必須要有roomId等於1的資料才能成功插入。

    delete from classRoom where roomId=1;

該命令可以在classRoom表中刪除roomId=1的一行資料,由於有外鍵,刪除時可能會影響desk、stu表中的資料,具體可以看一看外鍵的屬性介紹。

    update classRoom set roomName=‘403‘ where roomId=1;

如果classRoom表中存在roomId等於1的資料,則該行資料的roomName值將會修改為403。

    select * from classRoom where roomId=1;

該命令尋找roomId=1的資料。如果需要指定尋找的列,那麼使用如下命令:

    select roomName from classRoom where roomId=1;

該命令只尋找roomName列的值。


  如有不對,希望能夠指正,本人也在學習中。

本文出自 “張先森的部落格” 部落格,請務必保留此出處http://supermezhang.blog.51cto.com/9062111/1696714

命令列對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.