1、mysql中的decimal資料型別(不常用)
decimal(length, precision)用於表示精度確定(小數點後數字的位數確定)的小數型別,length決定了該小數的最大位數,precision用於設定精度(小數點後數字的位數)。
create table students(
id decimal(3,2),
name varchar(8) not null,
*** char(4) not null
);2、建立表
create table student(
id int unsigned not null auto_increment primary key,
name varchar(8) not null,
*** char(4) not null
)engine=innodb default charset='utf8';
注意不存在utf-8
·設定主鍵(primary key)約束
如果乙個表的主鍵是多個欄位的組合(例如欄位名1與欄位名2共同組成主鍵),定義完所有的字段後,使用下面的語法規則將(欄位名1, 欄位名2)設定為復合主鍵。primary key (欄位名1, 欄位名2)
·mysql自增型字段的值從1開始遞增,且步長為1。設定自增型字段的語法格式如下。
欄位名 資料型別 auto_increment
·複製乙個表
方法一:在create table語句的末尾新增like子句,可以將源表的表結構複製到
新錶中,語法格式如下。
create table 新錶名 like 源表;
方法二、在create table語句的末尾新增乙個select語句,可以實現表結構的複製,甚至可以將源表的表記錄拷貝到新錶中。下面的語法格式將源表的表結構以及源表的所有記錄拷貝到新錶中。
create table 新錶名 select * from 源表;
3、新增約束條件
alter table 表名 add constraint 約束名 約束型別 (欄位名)
例:如果沒有主鍵,新增主鍵約束。
alter table ss add constraint pp primary key (id);
列:新增外來鍵約束
alter table ss add constraint aa foreign key (ip) references s (id);
·刪除約束條件
(1)刪除表的主鍵約束條件語法格式比較簡單,語法格式如下。
alter table 表名 drop primary key
4、mysql在cmd中亂碼問題
mysql是預設utf8編碼的,所建資料庫也是設定utf8編碼,使用程式可以新增中文資料,在cmd中使用sql語句新增資料則報類似incorrect string value: '\xb2\xe2\xca\xd4' for column 'title' at row 1錯誤,而使用sql語句查詢出之前程式所新增中文資料都是亂碼的。
右擊在cmd介面上面邊框→屬性→選項 ,檢視cmd的編碼方式是是gbk,並不是utf-8。 其實資料庫內部是沒有亂碼的,只是和cmd的編碼方式不一樣,在cmd呈現出來的中文資料才是亂碼的,也造成了新增不了中文資料的情況。
使用mysql的圖形介面管理工具則不存在此問題了。
直接在mysql>下輸入 set names gbk; 即可解決問題。
MySQL操作基本指令
多行注釋 這是多行注釋 這是單行注釋 建立資料庫 create database 資料庫名 charset utf8 顯示所有資料庫 show databases 顯示某個資料庫的建立語句 show create database 資料庫名 刪除資料庫 drop database 資料庫名 修改某個...
mysql基本操作指令(一)
1 在windows命令提示符下執行 啟動mysql服務 net start mysql 停止mysql服務 net stop mysql 解除安裝 sc delete mysql 一般要先啟動mysql伺服器 注意 執行如上命令時,有時會出現 發生系統錯誤5 拒絕訪問 這是因為當前使用者的操作許可...
mysql基本操作指令(四)
1 使用謂詞distinct過濾結果集中的重覆記錄 select distinct 列名稱 from 表名稱 2 使用謂詞limit查詢某幾行記錄 select 字段列表 from 資料來源 limit start,length 3 資料庫表的連線,使用from子句指定資料來源 from 表名1 連...