MYSQL學習與實驗(一)——資料庫定義與操作
MYSQL學習與實驗(一)——資料庫定義與操作
1.1建立資料庫語句
CREATE DATABASE [IF NOT EXISTS] 資料庫名 [選項...];
這裡建立一個DBMS的資料庫
create database if not exists DBMS character set gbk;
這裡使用了if not exists 這個條件,意思是如果不存在該資料庫則建立,如果已經存在了則不建立。比如這個DBMS資料庫已經被建立,這時候就不會重複建立這個資料庫,如果不使用這個if not exists那麼直接使用建立資料庫語句:create database DBMS character set gbk;
則會報錯:
1.2.修改資料庫資訊:
alter database 資料庫名 修改選項 修改的新值
alter database DBMS character set utf8mb4;
使用檢視資料庫資訊命令檢視當前資料庫DBMS的資訊:
show create database dbms;
可以發現,我們剛開始建立的時候這個資料庫的編碼設定“gbk”,現在已經改變為了“utf8mb4”,然後開始將編碼修改為原來的樣子:
可以發現修改成功了。
1.3建立一個臨時資料庫tempDBMS然後刪除
1.3.1建表語句:drop database if exists tempDBMS;
1.3.2刪除資料庫:drop database 資料庫名
drop database tempDBMS;
可以看到該資料庫已經被刪除了。
1.4.建立表
1.4.1新建
CREATE TABLE employee (employeeID CHAR(6) NOT NULL PRIMARY KEY, name CHAR(10) NOT NULL, education CHAR(4) NOT NULL,birth DATE NOT NULL, gender TINYINT(1) NOT NULL DEFAULT 1,workYear TINYINT(1),address VARCHAR(100),phone CHAR(12), departmentID CHAR(3) REFERENCES department(departmentID));
1.4.2從已有資料中新建:
CREATE TABLE [IF NOT EXISTS] 表名 [ ( ) LIKE 已有表名 [ ] ] | [AS ( 表示式 )];
1.5修改表
1.5.1首先建立一個臨時例子的表 person:
create table if not exists person (id int(8) primary key auto_increment,name varchar(20) not null,password varchar(20) not null,sex tinyint(1) not null,address varchar(128));
1.5.2修改表名:
rename table 表名 to 新的表名
修改表person的名為newperson:
1.5.2刪除列:
alter table table-name drop col-name;
alter table newperson drop sex ;
可見刪除列“sex”成功。
1.5.3增加列(單列):
alter table table-name add col-name col-type comment 'xxx';
1.5.4增加表欄位並指明欄位放置為第一列:
alter table table-name add col-name col-type COMMENT 'sss' FIRST;
alter table newperson add column age int(3) comment "年齡" first;
1.5.5增加表欄位並指明欄位放置為特定列後面:
alter table table-name add col-name col-type after col-name-1;
alter table newperson add column jobName varchar(20) comment "工作名稱" after id;
1.5.6使用MODIFY修改欄位型別:
alter table table-name modify column col-name col-type;
alter table newperson modify name varchar(40) not null;
1.5.7使用CHANGE修改欄位型別:
alter table table-name change col-name col-name col-type;
alter table newperson change address newAddress varchar(64) not null;
1.5.8修改欄位的預設值:
alter table table-name alter col-name set default 要設定的預設值;
alter table newperson alter age set default 18;
1.5.9欄位刪除預設值:
alter table table-name alter col-name drop default;
alter table newperson alter age drop default;
1.6.刪除臨時表:
drop table 表名 [if exists]
drop table if exists;
1.7思考與練習
建立一個基本表的時候,LIKE和AS有何區別?試著對比表資料和表結構。
建立表時從已有資料中複製:
CREATE TABLE employee2 LIKE employee ;和CREATE TABLE employee3 AS (SELECT * FROM employee );的區別:
CREATE TABLE employee2 LIKE employee ;建立表時複製的是employee 的表結構,但是並沒有複製employee 中的資料到employee2中,查詢資料時為空。
CREATE TABLE employee3 AS (SELECT * FROM employee );建立表時不僅把employee 的結構複製過來了,其中的資料也複製過來了,employee3 和employee3的資料一致。
1.8.本博文已經同步到個人部落格,如有需要,請移步:http://moyisuiying.com/index.php/javastudy/mysql/362.html
相關文章
- swoft 學習筆記之資料庫配置與實體定筆記資料庫
- MySQL學習(一)資料庫安裝與配置全程圖解MySql資料庫圖解
- 資料庫原理與應用----實驗1:Oracle基本操作資料庫Oracle
- MYSQL學習與實驗(八)——儲存過程實驗MySql儲存過程
- MYSQL學習與資料庫綜合實驗(十 一)—— 客戶端工具備份與恢復實驗(基於Ubuntu18.04中Docker安裝的MySQL8實驗)MySql資料庫客戶端UbuntuDocker
- 資料庫學習與複習筆記--資料庫概念和不同類資料庫CRUD操作(1)資料庫筆記
- jmeter學習指南之操作 mysql 資料庫JMeterMySql資料庫
- MySQL學習筆記-使用Navicat操作MySQL資料庫MySql筆記資料庫
- 資料結構學習(C++)——單連結串列(定義與實現) (轉)資料結構C++
- 重新學習Mysql資料庫3:Mysql儲存引擎與資料儲存原理MySql資料庫儲存引擎
- 大資料學習之路——MySQL基礎(一)——MySQL的基礎知識與常見操作大資料MySql
- MySQL(一):MySQL資料庫事務與鎖MySql資料庫
- 重新學習MySQL資料庫6:淺談MySQL的中事務與鎖MySql資料庫
- Mysql資料庫自定義函式的定義、使用方法及操作注意事項MySql資料庫函式
- 【MYSQL資料庫開發之二】MYSQL基礎語句的書寫與一些資料庫操作(建立使用資料庫、表)!MySql資料庫
- 資料庫鏈與同義詞資料庫
- mysql資料庫-備份與還原實操MySql資料庫
- Mybatis實現分包定義資料庫MyBatis資料庫
- MySQL資料庫遷移與MySQL資料庫批量恢復MySql資料庫
- 資料庫學習(二)資料操作語言:資料庫
- MySQL(一) 資料表資料庫的基本操作MySql資料庫
- MySQL 資料庫操作MySql資料庫
- MySQL資料型別操作(char與varchar)MySql資料型別
- MySQL資料庫學習筆記MySql資料庫筆記
- 【從零開始學習 MySql 資料庫】(5) 約束檢視與索引MySql資料庫索引
- 資料庫與我:一段關於學習與成長的深情回顧資料庫
- 從零到一的 React 學習與實踐資料索引React索引
- Go語言中mysql資料庫操作(一)GoMySql資料庫
- MySQL 資料庫與 SQL 優化MySql資料庫優化
- [MYSQL] 資料庫建立與刪除MySql資料庫
- 【資料庫學習】資料庫平臺:mysql,sql server資料庫MySqlServer
- MySQL資料庫6:Go與MySQL事務MySql資料庫Go
- MySQL學習記錄--操作時間資料MySql
- 資料結構與演算法——普通樹的定義與C++實現資料結構演算法C++
- mysql 儲存過程中變數的定義與賦值操作MySql儲存過程變數賦值
- 【從零開始學習 MySql 資料庫】(1) 建表與簡單查詢MySql資料庫
- 實時資料庫與時序資料庫資料庫
- 騰訊資料庫tdsql部署與驗證資料庫SQL