上回說道MySQL數據庫的一些基本操做今天,給你們分享的是MySQL的一些命令結構和類型
MySQL名詞解釋:
DB:DataBase
數據庫: 依靠某種數據模型進行組織並存放到存儲器的數據集合
DBMS
數據庫管理系統:用來操縱和管理
DBS
帶有數據庫,數據庫管理系統的服務器
管理數據庫是使用sql命令: (結構化查詢語言)
MySQL指令:換及環境切換,看狀態,退出等控制
SQL指令: 數據庫定義,查詢,操縱,受權語句
注意事項:
不區分大小寫(密碼,變量值除外)
分類:
DDL 數據定義語言
DML 數據操做語言
DCL 數據控制語言
DTL 數據事物語言
##基本操做命令:
create database 庫名; #建立庫
show databases; #查看已有庫mysql
drop database 庫名; #刪除庫sql
use 庫名; #切換庫數據庫
show tables; #查看庫裏已有的表 服務器
select database(); #查看當前所在的庫 ide
select * from 庫名.表名; #查看錶內容函數
desc 庫名,表名 #查看錶結構
##建表命令:
create table 庫名.表名(字段名 字符類型,
字段名 數字類型,
......
);
例:create table dc.xx(name char(5),nianling int);
庫名.表名 (名 文字類型(5),第二列名 數字類型);ui
insert into 庫名.表名 values(值列表)一個括號一行 #插入表記錄
例:insert into gamedb.stu values("jim",21),("tom",29);
庫名.代表 (值列表,),(值列表);
delete from 庫名.表名 #刪除表記錄
drop table 表名 #刪除表it
數據庫類型:分爲整型,浮點型,字符型,日期時間型,枚舉型.
整型(整數)
根據存儲數值的範圍類型有,小整型,微小整型
tinyint 1字節 -128~127 0~255無符號
smallint 2字節 -32768~32767 0~65535
mediumint 3字節 -2
int
bigint
通常在整型方面基本用int足夠,看我的喜愛.
浮點型,分爲單精度和雙精度
float 單精度浮點數(n,m)
double 雙精度浮點數(n,m)
n表示:總位數
m表示:小數位的位數
字符類型:定長 變長 大文本
char varchar blob/text
定長: 最大長度爲255字節
變長:按數據實際大小分配儲存空間
大文本:字符數大於65535存儲時使用
日期時間類型:
年 year 年 2017 YYYY
日期 DATE 年月日 20171220 YYYYMMDD
時間 time 時分秒 155145 HHMMSS
日期時間:
datetime 年月日時分秒 YYYYMMDDHHMMSS
timestamp 年月日時分秒 YYYYMMDDHHMMSStable
例:
mysql> create table dc.cc(
-> name char(10),
-> nianling tinyint,
-> nian year,
-> shijian time,
-> shengri date,
-> yuehui datetime
-> );
atetime/timestamp區別:
當位給timestamp字段賦值時,自動以當前系統時間賦值,而DA字段默認賦值位NULLclass
使用時間函數給日期時間類型的字段賦值:
now() year() month() day() date() time()
例:
insert into dc.cc values("tom",19,year(now()),time(now()),date(now()),now());
枚舉類型: 字段的值只能在列舉的範圍內選擇
字段名 enum(值列表) 單選值
字段名 set(值列表) 多選
設置字段約束條件:做用限制如何給字段賦值。
null 容許爲空,默認位置
not null 不容許爲空
注##### 姓名不能設置默認值爲空.
例:mysql> create table t2( name char(10) not null, age tinyint default 23, sex enum("my","you") not
名字 類型(10) 不爲空 , 年齡 類型 不爲空 23 , 性別 單選值 ("我","你") 不爲
null default "my" );
空 默認值 "my");
表結構調整:::
格式:
mysql> alter table 表名 執行動做(作什麼操做);
mysql> alter table 表名 執行動做; }#添加新字段,默認在最後。
alter table q3 add stu_id int first;
表名 添加 字段名 類型 前面;
add 字段名 類型(寬度) 約束條件, }
add 字段名 類型(寬度) 約束條件 first; #全部字段的前面
add 字段名 類型(寬度) 約束條件 after 字段名; #在什麼字段後面添加
alter table drop 字段名; #刪除字段
alter table q3 drop stuid;
表名 字段名
alter table modify 字段 類型(寬度) 約束條件 #修改字段類型
alter table change 原字段名 新字段名 類型(寬度) 約束條件 #修改字段名
alter table 原表名 rename 新表名; #修改表名
綜合例子:mysql> create table zonghe.banji(庫名.表名(-> xingming char(5),項 文件類型(參數)-> nianling int,數字類型-> xingbie enum("nan","nv"),枚舉類型-> rexue datetime,時間類型-> xuefei float(5,2)浮點類型-> );