1.登陸mysql
mysql -uroot -hlocalhost -p
Enter password: ***
2.查看全部庫,使用對應庫,建立庫面試
show databases;
use sys;
create database dataBase;
3.查看錶sql
show tables;
4.建立表數據庫
create table student( id int primary key auto_increment, name varchar(20) not null, age int default 18, phoneNumber varchar(20) unique);
能夠在mysql界面中運行.sql的文件 source sql文件的路徑
create table 表名(
字段1 類型 約束條件,
字段2 類型 約束條件,
字段3 類型 約束條件
)併發
5.MYSQL的約束工具
MySQL種有5種約束 primary key 主鍵約束 foreign key 外鍵約束 not null 非空 unique 惟一 default 默認值 auto_increment 自動增加.. 自動增加一般和主鍵結合使用 check 檢查 .經過表達式驗證數據.mysql不支持check,能夠寫check可是沒效果. 約束能夠分爲: 單列約束 多列約束
6.系統顯示的表結構優化
show create student; | student | CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `age` int(11) DEFAULT '18', `phoneNumber` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `phoneNumber` (`phoneNumber`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
Engine:引擎 Charset 字符編碼格式.編碼
show engines; //MySQL會默認提供的全部引擎spa
//-- 查看MySQL當前默認的存儲引擎
mysql> show variables like '%storage_engine%';code
MySQL數據庫的殷勤取決於安裝MySQL時是如何編譯的.若是要添加一個新引擎必需要從新編譯MySQL.默認狀況MySQL支持三個引擎:ISAM,MYISAM,HEAP.還有兩個引擎也是可使用的.INNODB和BDB.固然也能夠本身經過使用MySQL++所提供的API本身寫一個引擎.
ISAM: 讀取的操做速度快,且不佔用大量的內存和存儲資源.缺點是ISAM不支持事務處理,也不可以容錯.
MyISAM: 提供了ISAM中所沒有索引和字段管理的功能.以及MyISAM還提供了一種表格鎖定機制(Java中的鎖)用來優化併發的讀寫.MyISAM強調了快速讀寫操做.缺點是不支持表損壞後的數據恢復.
InnoDB:該引擎就是由MySQL++API所實現的.完善了ISAM和MyISAM中不支持的內容.即該引擎支持事務等可是讀寫速度比ISAM或MyISAM要慢.
引擎的添加在建表時右括號外添加engine="引擎名稱" 就能夠決定當前表使用什麼引擎.在使用該語句以前最好先看下當前庫是否擁有和支持你想要使用的引擎.
insert into student(name,phoneNumber) values('孫七','11011911411090')
Update: update student set age = 25 where name = '王五'; Delete: delete from student where id % 2 = 0; Select: select id,name,age,phoneNumber from student;
數據庫的鏈接就Java而言能夠分爲兩種:
1.直鏈接 -- jdbc
2.橋鏈接 -- odbc 一般用於C#等微軟的語言上.
在window上 路徑: 控制面板 - > 管理工具 - > ODBC
Java上主流使用的是JDBC.(若是是Web開發.或EE級別.jdbc是面試中必問.實際應用中經常使用的.)