程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql學習的筆記A

mysql學習的筆記A

編輯:MySQL綜合教程

mysql學習的筆記A   Mysql和SQL的語法差不多是一樣的,分為以下幾個大類。   1、  數據定義語言(DDL):create , alter ,drop 等   2、  數據操作語言(DML):如插入,修改,刪除等   3、  數據控制語言(DCL):grant,revoke等   我們通過控制台的mysql進行數據庫操作,mysql語句的結束符是 ';'   當我們進入到mysql的控制台之後,可以查看有幾個數據庫   數據庫操作:   顯示所有數據庫:show databases ;   刪除數據庫:drop databases dbname ;   創建數據庫:create database [if not exists] dbname ;   切換數據庫:use dbname ;   表操作:   顯示當前使用數據庫所有的表對象:show tables;   顯示表結構:desc tablename ;   (desc -->describe)   創建一張表:              create table student(                     uid int,                     uname varchar(20),                     uscore float              ) ;   子查詢的建表方式:注意,新表的列名要與子查詢的列明要對應,類型也要一樣。              create table somestudents(                     uid int ,                     uname varchat(20)              )              as              select uid,uname from student ;   復制(備份)表:              create table student2                        as              select * from student ;   刪除表:drop table tablename ;   清空表裡面的數據:truncate table tablename ; 與drop from tablename 相似。   重命名表:alter table student rename to students ;   字段操作:   添加一個表字段:alter table student add addr varchar(20) default ‘abcdefg’ ;   (--在mysql中是不區分大小寫的,也不區分雙引號或單引號--)   添加多個表字段:                  alter table student                   add (                   phone1 varchar(8) default  ‘12345678’                   phone2 varchat(11) default  ‘0000000000’                   ) ;   修改表字段:將phone1的長度擴展到9位,設置默認值,並設置為表的第一列。                 alter table student modify phone1varchar(9)  default ‘123456789’  first ;   將phone2設置在phone1字段後面                 alter table student modify phone2varchar(11) after phone1 ;   修改多個字段:mysql中alter modify不允許一次修改多個列(就像insert一樣,一個insert可以插入多個行),但是oracle可以,但是mysql中可以通過多個modify來修改多個列。                 alter table student                 modify phone2 varchar(11) default ‘12345678999’,                 modify phone1 varchar(9) default ‘987654321’ ;   刪除指定字段:alter table student drop phone1 ;   字段重命名:如果需要改變列名,建議使用change,如果只需要改變數據類型和顯示位置用modify。                alter table student change uname name varchar(20) ;   約束:   not null :某列的值不能為空   unique: 唯一約束,不能重復,可以為空。   primary key :主見約束,不能重復,不能為空,   foreign key :外鍵,   check: 指定一個表達式,用於檢查指定數據。(mysql不支持,但是可以寫。)   向表中某一字段添加約束:   非空約束:   添加非空約束:alter table student modify uage int not null ;   取消非空約束:alter table student modify uage int null ;   添加默認約束:alter table student modify uage int default ‘20’  not null ;   唯一約束:   添加唯一約束:alter table student add unique (name ,psw) ;用戶名和密碼不能重復。                               alter table student modify name varchar(23) unique ;   刪除唯一約束:alter table student drop index name ;去掉name列的唯一約束。   主鍵約束:   添加一個主鍵約束:alter table student modify uid int primary key ;   刪除主鍵約束:        alter table student drop primary key ; 去除表中所有主鍵約束。   添加多個主鍵約束:alter table student add primary key(uid,uname) ;   將主鍵設置為遞增:alter table student modify uid int auto_increment ;   外鍵約束:   增加外鍵約束:alter table student add foreign key(phone,addr)                               references class(phone,addr) ;   刪除外鍵約束:alter table student drop foreign key phone ;                               alter table student drop foreign key addr ;   注意:當主表的記錄被從表依賴時,主表的記錄不允許被刪除,除非從表解除這中依賴關系。   check約束:                   create table temp(                   id int primary key ,                   age int ,                  check (age > 20 )                   ) ;   這裡的約束age>20實際上是不會產生作用的。   索引:   創建索引方式:   自動:當表上定義主鍵約束、唯一、外鍵約束時,該表會被系統自動添加上索引。   手動:手動在相關表或列上增加索引,提高查詢速度。   刪除索引方式:   自動:當表對象被刪除時,該表上的索引自動被刪除   手動:手動刪除指定表對象的相關列上的索引   索引類似於書籍的目錄,可以快速定位到相關的數據,一個表可以有多個索引。       創建索引:create index indexname on student(uid,uname) ;   刪除索引:drop index indexname on student ;       視圖:   視圖就是一個表或多個表的查詢結果,它是一張虛擬的表,因為它並不能存儲數據。   視圖的作用、優點:   限制對數據的訪問   讓復雜查詢變得簡單   提供數據的獨立性   可以完成對相同數據的不同顯示   創建視圖:                   create view viewname                   as                   select uid,uname from student;   通常我們不對view做修改操作,我們可以加上with check option                         create view viewname                   as                   select uid,uname from student                   with check option ;   刪除視圖:drop view viewname ;       數據操作:   插入語句:             insert into 插入:             insert into student(uid,uname) vaules(1,’dxd’) ;指定列插入             insert into student values(2,’dd’,xx,xxx,xxxxx) ;完全列插入             insert into student values(3,’gg’,xxx,xxx,xxxxx),                                                  (4,’dg’,xxx,xxx,xxxxx),                                                  (5,’tg’,xxx,xxx,xxxxx) ;多個記錄插入。             set插入:                       insert into student set uid=6 , uname=’hh’ ;   更新數據:                     update student set uname=jdk where uid = 4 ;                       update student set sscore = sscore+10 ;   刪除數據:                      delete from student ;刪除全部數據,和truncate一樣。                      delete from student where uid = 3 ;   select查詢:                     查詢表中所有信息:select * from student ;                     查詢指定列和條件的數據:                               select uid,uname from student                               where uid > 3 ;                     as對列重命名                              select uid ad id from student ;                     常量查詢:select 9+1 ;                     去掉重復查詢:distinct                    where查詢:比較,and,or,in,like,between and , order by,                                      is null ,is not null , not , not in ,  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved