基礎篇--sql介紹及mysql安裝
一、結構化查詢語句(structured query language)簡稱sql
1)啟動mysql:
$sudo service mysql start
$mysql -u root
2)檢視資料庫:
mysql > show databases;
3)連線資料庫:
mysql > use 《資料庫名》;
4)檢視表:
mysql > show tables;
5)退出:
使用quit或exit退出mysql
基礎篇--建立資料庫並插入資料
1)新建資料庫:
mysql > create database 《資料庫名》;
2)新建資料表:
mysql > create table 表的名字
(列名a
資料型別 (資料長度)
列名b資料型別 (資料長度)
列名c資料型別 (資料長度));
3)資料型別:
資料型別
大小(位元組)
用途格式
int4
整數float
4單精度浮點數
double
8雙精度浮點數
enum
單選(比如性別)
enum('a', 'b', 'c')
set多選
set('1', '2', '3')
date3日期
yyyy-mm-dd
time
3時間點或持續時間
hh:mm:ss
year
1年份值
yyyy
char
0~255
定長字串
varchar
0~255
變長字串
text
0~65535
長文字資料
4)插入資料:
mysql > insert into 表的名字 (列名a, 列名b, 列名c) values (值1, 值2, 值3);
基礎篇--sql的約束
1)約束分類:
約束型別
主鍵預設值
唯一外來鍵
非空關鍵字
primary key
default
unique
foreign key
not null
2)載入資料.sql
mysql > source /home/shiyanlou/desktop/sql3/mysql-03-01.sql
3)主鍵(primary key):
主鍵是用來約束表中的一行,作為這一行的唯一識別符號,在一張表中通過主鍵就能準確定位到一行。主鍵不能重複且不能為空。
主鍵建立方式1:
create table employee (
id int(10) primary key,
name char(20) );
主鍵建立方式2:
people_num int(10) default,
constraint dpt_pk primary key (dpt_name)
其中:dpt_pk(主鍵名(自定義))
主鍵建立方式3:
constraint proj_pk primary key (proj_num, proj_name)
其中:dpt_pk(主鍵名(自定義))、((proj_num, proj_name)為復合主鍵)
4)預設值約束(default):
當有default約束的列,插入資料為空時,將使用預設值。
people_num int(10) default '10',
注:people_num有default約束,預設值為10
4.1.正常插入數值:
insert into department(dpt_num, people_num) values ('dpt1', 11);
4.2.people_num為空,使用預設值:
insert into department(dpt_num) values ('dpt2);
5)唯一約束(unique):
它規定一張表中指定的一列的值必須不能有重複值,即這一列每個值都是唯一的。
unique(phone), 這裡有unique約束,phone的值唯一
當insert語句新插入的資料和已有資料重複的時候,如果有unique約束,則insert失效。
6)外來鍵約束(foreign key):
外來鍵既能確保資料完整性,也能表現表之間的關係。一張表可以有多個外來鍵,每個外來鍵必須references(參考)另一張表的主鍵,被外來鍵約束的列,取值必須在它參考的列中有對應值。
constraint emp_fk foreignkey(in_dpt) references department(dpt_name)
注:emp_fk(外鍵名(自定義))、in_dpt(外來鍵)、department(dpt_name)--參考列為department表的dpt_name列
在insert時,如果被外來鍵約束的值沒有在參考列中有對應,如參考列(department表的dpt_name)中沒有dpt3,則insert失敗。
insert into employee values (02, 'jack', 30, 3500, 'dpt3');
7)非空約束(not null):
被非空約束的列,在插入值時必須非空。
backtrace實操總結
g 是乙個編譯選項,在編譯的過程中起作用,把更多除錯資訊 也就包括符號資訊 存放到最終的可執行檔案內。rdynamic 是乙個連線選項,將指示聯結器把所有符號都新增到動態符號表 即.dynsym表 裡,以便dlopen 或backtrace 這樣的函式使用。1 程式使用的是 elf 二進位制格式.2...
C STL基礎實操
include include using namespace std intmain include include using namespace std intmain include include using namespace std intmain include include in...
mysql分割槽實操
分成2步 2.將原表資料插入新錶 insert into 目標表 select from 表 create table met shopv2 order copy1 id int 11 not null auto increment,orderid varchar 20 character set ...