常用SQL命令

來源:互聯網
上載者:User

標籤:sql   時間   admin   mysqld   top   lte   建表   word   允許   

一、mysql資料庫日常操作。
     1.啟動mysql:/etc/init.d/mysql start (前面為mysql的安裝路徑)
     2.重啟mysql:  /etc/init.d/mysql restart (前面為mysql的安裝路徑)
     3.關閉mysql:  /etc/init.d/mysql stop(前面為mysql的安裝路徑)
     4.串連本機上的mysql:
        mysql -u 使用者名稱 –p (按斷行符號,再輸入密碼) 
        例:mysql –u root –p 
    5.退出mysql:exit   
    6.修改mysql密碼:
      (1)mysqladmin -u使用者名稱 -p舊密碼 password 新密碼
              例:mysqladmin –u root –p 123456 password 654321
      (2)進入mysql命令列SET PASSWORD FOR 使用者名稱@主機=PASSWORD("root");
              例:set password for [email protected]=password(“123456”); 
      (3)修改自己的密碼:
              set password=password(“123456”);
    7.增加新使用者:
       grant 操作 on 資料庫.* to 使用者名稱@登入主機 identified by "密碼"
       例:grant select on yingyu to [email protected] indentify by “123456”;
    8.建庫:
       create database 庫名; 
       例:create database yingyu;
    9.顯示資料庫列表:  show databases; 
  10.開啟資料庫:
       use 資料庫;
       例:use yingyu;
  11.刪庫:
       drop database 庫名; 
       例:drop database yingyu;
  12.顯示庫中的資料表:
       show tables;
  13.顯示資料表的結構:
       describe 表名; 
       例:describe student;
  14.編碼的修改:
      (1)改變整個mysql的編碼格式: 
             啟動mysql的時候,mysqld_safe命令列加入
               --default-character-set=編碼格式
               例:--default-character-set=UTF-8
      (2)改變某個庫的編碼格式:
             在mysql提示符後輸入命令: 
             alter database 資料庫 default character set 編碼格式; 
             例:alter database student default character set UTF-8;
二、sql常用命令
    1.建表:
       create table 表名(欄位設定列表);
      例:create table student
           (stuid char(10) primary key, 
             name char(20), 
             grade int(3), 
             age int(3) 
             );
   2.刪表:
      drop table 表名; 
      例:drop table student;
   3.將表中記錄清空:
      delete from 表名; 
      例:delete from student;
   4.顯示表中的記錄:
      select * from 表名; 
      例:select * from student;
   5.給表改名: 
      rename table 舊錶名 to 新表名;
      例:rename table student to people;
   6.修改欄位屬性:
     (1)alter table 表名 change 欄位名稱 欄位名稱 欄位類型 [是否允許非空]; 
           例:alter table student change name newname char(20) null; 
     (2)alter table 表名稱 modify 欄位名稱 欄位類型 [是否允許非空]; 
           例:alter table student modify name char(20) null;
  7.修改表設定預設欄位:
     (1)alter table 表名 modify 欄位名稱 欄位類型 default 預設值;
          例:alter table student modify name char(10) defalt 7;
     (2)alter table 表名 alter 欄位名稱 set default value; 
          例:alter table student alter name set default 7;
  8.增加表的一個欄位:
       alter table 表名 add column 欄位名稱 欄位類型 (default 預設值);
       例:alter table student add column sex char(10) (default 1);
  9.刪除表的一個欄位
        alter table 表名 drop column 欄位名稱;
       例:alter table student drop column name;
  10.刪除表主鍵
        alter table 表名 drop primary key; 
       例:alter table student drop primary key;
  11.添加新主鍵:
        alter table 表名 add primary key(欄位);
       例:alter table student add primary key(stuid);
  12.往表裡插入一行資料:
        insert into 表名 values(欄位資料1,欄位資料2,???) 
        例:insert into student values(‘123’,‘qqqq’,‘80’);
  13.往表裡插入多行資料:
        insert into 表名 values(欄位資料1,欄位資料2,???) ,(欄位資料1,欄位資料2,???),???;
        例:insert into student values(‘123’,‘qqqq’,‘80’),(‘124’,‘yyyy’,‘90’);
  14. 修改表的資料:
        update 表名 set 欄位名=value where 範圍
        例:update student set name=‘qqq1111’ where stuid=‘123’;
  15.模糊查詢
        select * from 表名 where 欄位 like ’%value1%’; 
        例:select * from student where name like ‘q%’;
  16.排序查詢:
        select * from 表名 order by 欄位名1,欄位名2 [desc] 
        例:selec * from student order by grade;(升序) 
              select * from student order by grade desc;(降序)
  17.左串連查詢:
        select 表1.欄位1,表1.欄位2,表2.欄位1,表2.欄位2 from 表1 left (outer) join 表2 on 表1.欄位=表2.欄位;
        例:select student.num,student.name,people.name,people.age from student left (outer) join people on student.name=people.name;
  18.右串連查詢:
        select 表1.欄位1,表1.欄位2,表2.欄位1,表2.欄位2 from 表1 right (outer) join 表2 on 表1.欄位=表2.欄位;
        例:select student.num,student.name,people.name,people.age from student right (outer) join people on student.name=people.name;
  19.全串連查詢(mySql不支援全串連,所以用左串連union右串連)
        select 表1.*,表2.* from 表1  left (outer) join 表2 on 表1.欄位=表2.欄位 union select表1.*,表2.* from 表1 right (outer) join 表2 on 表1.欄位=表2.欄位;
        例:select s.*,p.* from student s  left  join people p on  s.name = p.name union select s.*,p.* from student s  right  join people p on  s.name = p.name;
  20.關於年份的查詢
     例:查詢在1990-1993年之間出生的學生的全部資訊
    select * from student where year(Sbirthday)between 1990 and 1993; 
    查詢在1990年12月5日之前出生的學生的全部資訊
    select * from student where birthday < date(‘1990-12-05’);
三、備份與還原
  1.備份資料庫:
     mysqldump –u 使用者名稱 –p 資料庫名 > 儲存路徑+檔案名稱;
     例:mysqldump –u root –p yingyu > /home/yingyu/yingyu.sql;
  2.還原資料庫:
      mysql –u 使用者名稱 –p 資料庫名 < 檔案路徑+檔案名稱;
     例:mysql –u root –p yingyu < /home/yingyu/yingyu.sql;
  3.直接將MySQL資料庫壓縮備份
      mysqldump –u 使用者名稱 –p 資料庫名 | gzip > 儲存路徑+檔案名稱
      例:mysqldump –u root –p yingyu | gzip > /home/yingyu/yingyu.sql.gz;
  4.還原壓縮的Mysql資料庫
      gunzip < 檔案路徑+檔案名稱 | mysql –u 使用者名稱 –p 資料庫名
      例:gunzip < /home/yingyu/yingyu.sql.gz | mysql –u root –p yingyu;
  5.備份資料庫中的某些表:
     mysqldump –u 使用者名稱 –p 資料庫名 表名1 表名2 > 儲存路徑+檔案名稱
     例:mysqldump –u root –p yingyu student > /home/yingyu/yingyu.sql;
  6.備份資料庫中的某些資料庫:
     mysqldump –u 使用者名稱 –p –B  庫1  庫2 > 儲存路徑+檔案名稱
     例:mysqldump –u root –p –B yingyu1 yingyu2>/home/yingyu/yingyu.sql;
  7.還原資料庫中的某些資料庫:
     mysqldump –u 使用者名稱 –p –D 庫1 庫2 < 檔案路徑 + 檔案名稱;
     例:mysqldump–u root –p–D qiuyingyu yingyu</home/yingyu/yingyu.sql;
  8.還原資料庫中的某些表:
     mysql –u 使用者名稱 –p 資料庫名  < 儲存路徑+表檔案名稱
     例:mysql –u root –p yingyu  < /home/yingyu/yingyu.sql;

時間格式區間查詢:
   BETWEEN to_date(‘2011-07-01‘,‘yyyy-mm-dd‘) and to_date(‘2017-07-25‘,‘yyyy-mm-dd‘)

 

常用SQL命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.