mysql實操總結(基礎篇 上)

2021-08-20 21:13:00 字數 2727 閱讀 1036

基礎篇--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 ...