Mysql操作數據庫,數據庫建庫建表建用戶學習筆記

操作數據庫

1.創建庫

語法:create database 數據庫名;

例如:create database school;

如果需要制定編碼的default character set utf8 collate utf8_general_ci;

數據庫添加編碼:
    ALTER DATABASE 庫名 CHARACTER SET 編碼格式;

2.刪除庫

語法:drop database 數據庫名;

列入:drop database students;

3.使用庫

語法:use 數據庫名;

例如:use school;

用戶的創建與授權

1.創建用戶

CREATE USER ‘username’@'host' IDENTIFIED BY 'password';

host如果是%代表可以遠程登錄的用戶

CREATE USER 'jame'@'%' IDENTIFIED BY '123456' (創建一個遠程登錄的用戶jame)
 

2.授權用戶

授權:

GRANT 權限1,權限2,...權限n ON 數據庫名稱.表名稱 TO 用戶名@用戶地址 IDENTIFIED BY '連接口令';

移除權限:

REVOKE 權限1,權限2...權限n ON databasename.tablename FROM 'username'@'host';

十四個權限:select,insert,update,delete,create,drop,index,alter,grant,references,reload,shudown,process,file
給所有權限就是使用 all privileges

3.刪除用戶

DROP USER 用戶名;

在不指定主機的情況下,默認就是% 例: DROP USER jame;

刪除本地用戶 例:DROP USER jame@localhost;

操作數據表

1.創建表

先進入庫 USE DATABASE 庫名

創建表 CREATE TABLE 表名(字段名1 數據類型 [NOT NULL],字段名2 數據類型 [NOT NULL]);

查看錶結構:
    desc 表名;

2.修改表

修改表名 ALTER TABLE 原表名 RENAME TO 新表名; (表的結構與數據都不會受影響)

修改列 ALTER TABLE 表名 CHANGE 原列名 新列名 新 列名的數據類型; (修改的數據類型不能跟該列已有數據起衝突)

修改字段數據類型:alter table 表名 modify 列 數據類型;

增加列 ALTER TABLE 表名 ADD 新列名(字段名) 數據類型;

刪除列 ALTER TABLE 表名 DROP 列名(字段名);

3.刪除表

drop table 表名;

4.數據約束:

   非空:

     添加:alter table 表名 modify 列 數據類型 not null;

     刪除:alter table 表名 modify 列 數據類型 null;

   默認值:

     添加:alter table 表名 alter 列 set default '值';

     刪除:alter table 表名 alter 列 drop default;

   唯一約束:

     添加:alter table 表名 add unique 約束名(字段);

     刪除:alter table 表名 drop key 約束名;

   主鍵:

     添加:alter table 表名 add primary key(字段);

     刪除:alter table 表名 drop primary key;

   自增長:

     添加:alter table 表名 modify 列名 int auto_increment;

     刪除:alter table 表名 modify 列名 int;

   外鍵:

     添加:

       alter table 外鍵表 add constraint 約束名 foreign key(外鍵列)

     references 主鍵表(主鍵列)

     on delete set null

     on update set null

     刪除:

       第一步:刪除外鍵

       alter table 外鍵表 drop foreign key 約束名;

       第二部:刪除索引名

       alter table 外鍵表 drop index 索引名;

 

TIMESTAMP的變體
1.在創建新紀錄和修改現有記錄的時候都會對這個列的時間進行刷新
ALTER TABLE students 
ADD update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

2.在創建新紀錄的時候把這個字段設置爲當前時間,但是以後的更新不會執行
ALTER TABLE students 
ADD update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE;

3.創建新紀錄的時候不給值,以後修改的時候自動刷新
ALTER TABLE students 
ADD update_time TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
 

注意事項:
1.字段:每個表都可以分更小的項,這些項成爲字段(列)
2.記錄(數據記錄,一行數據):表裏面的行
3.列表裏的垂直項。包含表裏特定字段的所有信息

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章