mysql基本操作指令(二)

2021-07-30 14:17:49 字數 1759 閱讀 4824

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 連...