MySQL基礎(二)圖形窗口操做、命令腳本操做

使用圖形窗口鏈接

  • 下發windows的navicat
  • 點擊「鏈接」彈出窗口,按照提示填寫鏈接信息,以下圖

 

鏈接

  • 鏈接成功後,會在鏈接名稱下面顯示出當前的數據庫
  • 雙擊選中數據庫,就能夠編輯此數據庫
  • 下次再進入此軟件時,經過雙擊完成鏈接、編輯操做

數據庫操做

  • 鏈接的名稱上右擊,選擇「新建數據庫」,彈出窗口,並按提示填寫

 

建立數據庫

  • 在數據庫上右擊,選擇「刪除數據庫」能夠完成刪除操做

表操做

  • 當數據庫顯示爲高亮時,表示當前操做此數據庫,能夠在數據中建立表
  • 一個實體對應一張表,用於存儲特定結構的數據
  • 點擊「新建表」,彈出窗口,按提示填寫信息

 

  • 實體-----表     屬性------字段

建立表

  • 主鍵的名稱通常爲id,設置爲int型,無符號數,自動增加,非空
  • 自動增加表示由mysql系統負責維護這個字段的值,不須要手動維護,因此不用關心這個字段的具體值
  • 字符串varchar類型須要設置長度,即最多包含多少個字符
  • 點擊「添加欄位」,能夠添加一個新的字段
  • 點擊「保存」,爲表定義名稱
  • 右鍵而後點擊「設計表」能夠從新設計

數據操做

  • 表建立成功後,能夠在右側看到,雙擊表打開新窗口,以下圖

 

數據操做

  • 在此窗口中能夠增長、修改、刪除數據

邏輯刪除

  • 對於重要數據,並不但願物理刪除,一旦刪除,數據沒法找回
  • 通常對於重要數據,會設置一個isDelete的列,類型爲bit,表示邏輯刪除默認值爲0,1表示刪除
  • 大於大量增加的非重要數據,能夠進行物理刪除
  • 數據的重要性,要根據實際開發決定

 

 

 

使用命令鏈接

  • 命令操做方式,在工做中使用的更多一些,因此要達到熟練的程度
  • 打開終端,運行命令
      • mysql -uroot -p
回車後輸入密碼,當前設置的密碼爲mysql
  • 鏈接成功後以下圖

 

鏈接成功

  • 退出登陸
quit或exit
  • 退出成功後以下圖

 

退出

  • 登陸成功後,輸入以下命令查看效果
查看版本:select version();
顯示當前時間:select now();
  • 注意:在語句結尾要使用分號;

遠程鏈接

  • 通常在公司開發中,可能會將數據庫統一搭建在一臺服務器上,全部開發人員共用一個數據庫,而不是在本身的電腦中配置一個數據庫
  • 運行命令
 
 
  • -h後面寫要鏈接的主機ip地址
  • -u後面寫鏈接的用戶名
  • -p回車後寫密碼

數據庫操做

  • 建立數據庫
create database 數據庫名 charset=utf8;
  • 刪除數據庫
drop database 數據庫名;
  • 切換數據庫
use 數據庫名;
  • 查看當前選擇的數據庫
select database();
查看當前全部的數據庫:
show databases;

表操做

  • 查看當前數據庫中全部表
show tables;
  • 建立表
  • auto_increment表示自動增加mysql

    CREATE TABLE IF NOT EXISTS `tc_base`(
       `tc_base_id` INT UNSIGNED AUTO_INCREMENT,
       `tc_region_name` VARCHAR(100) NOT NULL,
       `street_name` VARCHAR(40) NOT NULL,
       PRIMARY KEY ( `tc_base_id` )
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;

      

    • 若是你不想字段爲 NULL 能夠設置字段的屬性爲 NOT NULL, 在操做數據庫時若是輸入該字段的數據爲NULL ,就會報錯。
    • AUTO_INCREMENT定義列爲自增的屬性,通常用於主鍵,數值會自動加1。
    • PRIMARY KEY關鍵字用於定義列爲主鍵。 您可使用多列來定義主鍵,列間以逗號分隔。
    • ENGINE 設置存儲引擎,CHARSET 設置編碼。

       

  • 修改表sql

alter table 表名 add|change|drop 列名 類型;
如:
alter table students add birthday datetime;
  • 刪除表(物理刪除)
drop table 表名;
  • 查看錶結構describe
desc 表名;
  • 更改表名稱
  rename table 原表名 to 新表名;
  • 更改表中列信息
  
 ALTER TABLE testalter_tbl CHANGE 舊列名字 新列名字 BIGINT;
  • 查看錶的建立語句
show create table 表名;

數據操做

  • 查詢
select * from 表名
  • 增長
全列插入:insert into 表名 values(...)
缺省插入:insert into 表名(列1,...) values(值1,...)
同時插入多條數據:insert into 表名 values(...),(...)...;
或insert into 表名(列1,...) values(值1,...),(值1,...)...;
  • 主鍵列是自動增加,可是在全列插入時須要佔位,一般使用0,插入成功後以實際數據爲準
  • 修改
update 表名 set 列1=值1,... where 條件
  • 刪除
delete from 表名 where 條件
  • 邏輯刪除,本質就是修改操做update
alter table students add isdelete bit default 0;
若是須要刪除則
update students isdelete=1 where ...;

備份與恢復

數據備份

  • 進入超級管理員
sudo -s
  • 進入mysql庫目錄
cd /var/lib/mysql
  • 運行mysqldump命令
mysqldump –uroot –p 數據庫名 > ~/Desktop/備份文件.sql;
按提示輸入mysql的密碼

數據恢復

  • 鏈接mysqk,建立數據庫數據庫

  • 退出鏈接,執行以下命令windows

mysql -uroot –p 數據庫名 < ~/Desktop/備份文件.sql
根據提示輸入mysql密碼

總結

  • 數據庫解決的問題,E-R模型,三範式
  • 圖形界面操做數據庫、表、數據
  • 命令行操做數據庫、表、數據

數據庫命令:
建立create database 數據庫名 charset=utf8;
刪除drop database 數據庫名;
查看全部數據庫:show databases;
使用數據庫:use 數據庫名;
----------------------------------------
表命令:
create table 表名(列...);
惟一標識的要求:id
類型:int unsigned
約束1:not null
約束2:primary key
約束3:auto_increment
列的格式:列的名稱 類型 約束
create table stu(
-> id int not null primary key auto_increment,
-> name varchar(10) not null,
-> gender bit default 1,
-> birthday datetime,
-> isDelete bit default 0,
-> );
查看錶show tables;服務器

查看錶的建立語句:show create table 表名;ui


查看錶結構desc 表名;
修改表:alter table 表名 add|modify|drop 列名 類型 約束;
alter table stu modify column isDelete bit not null default 0;
刪除表:drop table 表名;
----------------------------------------
數據命令:
添加數據:insert into 表名(列名) values(值),(值)...;
修改數據:update 表名 set 列1=值1,... where ...;
刪除數據:delete from 表名 where ...;
邏輯刪除:update 表名 set isDelete =1,where...;
備份:mysqldump >
恢復:mysql <編碼

 

CREATE TABLE IF NOT EXISTS `tc_base`(   `tc_base_id` INT UNSIGNED AUTO_INCREMENT,   `tc_region_name` VARCHAR(100) NOT NULL,   `street_name` VARCHAR(40) NOT NULL,   PRIMARY KEY ( `tc_base_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;spa

相關文章
相關標籤/搜索