MySql基礎-1

來源:互聯網
上載者:User

標籤:des   使用   java   io   ar   for   檔案   資料   問題   

*sql of databse

 

1.create databse

create database mydb1;

   create database mydb2 character set utf8;

   create database mydb3 character set utf8 collate

   create database 資料庫名;

   create database 資料庫名 character set 編碼;

   create database 資料庫名 character set 編碼 COLLATE 校正集;

 

2.show databses;

  show databases;

  select database(); 查看當前資料庫

 

3.顯示資料庫的建立語句

  show create database 資料庫名

 

4.delete database   

  drop database 資料庫名;

 

5.update database

   alter database 資料庫名 character set 字元編碼集 collate 校正集;  

   use 資料庫名;  切換資料庫

 

 

*sql for the table 

 

1.create 

  create table 表名(

    欄位1 欄位類型,

    欄位2 欄位類型,

    ....

    欄位n 欄位類型

  );

ex:

create table employee(

id int primary key auto_increment,

name varchar(20) not null,

gender varchar(10) unique,

birthday date,

entry_date date,

job varchar(100),

salary double,

resume longtext

);

 

2.show the table

desc tablename;

 

3.刪除表

drop table 表名;

 

4.修改表

alter table 表名

1.add 添加一個新的列.

alter table users add password varchar(20);

2.modify 修改列

alter table users modify password int;

3.drop 刪除列

alter table users drop password;

4.change 修改列名

alter table users change password pwd varchar(10);

5.insert

insert into 表名(欄位1,欄位2,...) values(值1,值2,....);

5.update data

update 表名 set 欄位=值,欄位1=值.

按條件進行修改

update 表名 set 欄位=值,欄位1=值,..... where 條件;

6.delete data

delete from 表名;---所有資料全都刪除

delete from 表名 where 條件.

 

*datatype for the mysql

 

***mysql中的表的欄位類型有n多種

 

java中的資料類型 mysql資料類型

byte SMALLINT

short MEDIUMINT

int int

long bigint

float float

double double

boolean bit

 

String char varchar

 

java.sql.Date Date DateTime

java.sql.Time Time

java.sql.TimeStamp TimeStamp

 

 

***在資料庫中字元與字串是同樣的概念。 varchar char

char與varchar區別?

char定長的.

varchar是不定長的.

 

***關於資料庫中的日期類型與java中的日期類型處理問題:

在java---》 java.util.Date類型。

而在資料庫中有一個Date類型 。它與java中的 java.sql.Date對應.

 

 

***在java中對於資料庫對應的還有其它幾種類型.

java.sql.Date--------Date DateTime

java.sql.Time--------Time

java.sql.TimeStamp---TimeStamp

 

***大資料類型

blob----大二進位類型. -------InputStream對應.

text----大文本類型 -------Reader對應

 

tinyblob tinytext 255位元組 

blob text 64KB 

mediumblob mediumtext 16MB 

longblob longtext 4GB

 

***關於mysql中的小數類型

float

double

NUMERIC(5,2)

 

 

 

3.關於表的約束

 

約束的是什嗎?它的作用?

對欄位進行約束就是強制對欄位的特性進行控制。

添加約束可以提高我們的資料的完整性與安全性。

 

1.主鍵約束

我們可以讓某一個欄位是主鍵,如果這個欄位是主鍵後,它具有兩個特性.

1.唯一性

2.非空

 

怎樣添加主鍵?

在欄位上添加上 primary key就可以。

在開發中一般對於主鍵來說,它不具有任何意義,只是用來做標識。

對於主鍵,它是唯一不可重複,在mysql中可以通過 auto_increment來讓int類型的欄位進行自動成長.

 

sqlservet--------identity(1,1)

oracle------------使用它sequence

 

2.非空約束

not null

 

3.唯一約束

unique

4.外鍵約束(多表)

 

 

***插入資料時的注意事項:

1.資料需要使用引號引起來.數例類型可以不用.

2.如果插入空值,使用null.

3.插入的資料必須與欄位的類型匹配.

4.指定的列數與數值要對應.

5.插入的資料長度不能超出列的指定長度.

***關於插入時的中文問題:

insert into users values(null,‘張三‘,‘1999-10-10‘);

ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xC5\xC8\xFD‘ for column ‘username‘ at row 1

 

在插入中文時報錯.

原因:我們當前使用的cmd視窗它是一個用戶端,在這個用戶端中所使用的是編碼是當前系統預設的編碼。

mysql資料庫伺服器在安裝時,我們指定了編碼 utf8,那麼它的用戶端與伺服器端都是utf8編碼。

解決方案:

在mysql的安裝檔案下尋找一個人my.ini檔案.

修改my.ini檔案事重新啟動服務.

臨時修改

在mysql中一共有6個地方使用了字元集.

client connetion result 和用戶端相關 、database server system 和伺服器端相關 

查看系統所有字元集 : show variables like ‘character%‘;

可以通過 -->set names gbk ;

 

***sql的關於刪除資料:

drop table 表名-------它用於刪除表結構.

delete from 表名 ------它用於刪除表中的資料,表還存在.

truncate 表名.---------它與delete一樣,都是用於刪除表中資料。

 

delete與truncate的區別?

1.

delete刪除時,是一條一條刪除。它效率比較低.

truncate刪除是先將表結構刪除,在重新建立表結構.

 

2.

delete 是dml語句.

truncate不是dml語句.

 

對於dml語句它是可以受事務控制。在事務中,我們通過delete刪除後資料可以恢複.

truncate它是不受事務控制。也就是說,刪除後就不能在恢複。

MySql基礎-1

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.