日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql中depart_mysql 学习笔记

發布時間:2024/9/27 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中depart_mysql 学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1)net stop mysql

net start mysql

2)c:\mysql\bin\mysqladmin flush-privileges????? 3)登陸mysql后,用flush privileges語句

6、創建數據庫staffer

create database staffer;

7、以下的語句在mysql環境在運行

顯示用戶擁有權限的數據庫?????? show databases;

切換到staffer數據庫?????? use staffer;

顯示當前數據庫中有權限的表 show tables;

顯示表staffer的結構?? desc staffer;

8、創建測試環境

1)創建數據庫staffer

mysql> create database staffer

2)創建表staffer,department,position,depart_pos

create table s_position

(

id int not null auto_increment,

name varchar(20) not null default ‘經理‘, #設定默認值

description varchar(100),

primary key PK_positon (id) #設定主鍵

);

create table department

(

id int not null auto_increment,

name varchar(20) not null default ‘系統部‘, #設定默認值

description varchar(100),

primary key PK_department (id) #設定主鍵

);

create table depart_pos

(

department_id int not null,

position_id int not null,

primary key PK_depart_pos (department_id,position_id) #設定復和主鍵

);

create table staffer

(

id int not null auto_increment primary key, #設定主鍵

name varchar(20) not null default ‘無名氏‘, #設定默認值

department_id int not null,

position_id int not null,

unique (department_id,position_id) #設定唯一值

);

3)刪除

mysql>

drop table depart_pos;

drop table department;

drop table s_position;

drop table staffer;

drop database staffer;

9、改動結構

mysql>

#表position添加列test

alter table position add(test char(10));

#表position改動列test

alter table position modify test char(20) not null;

#表position改動列test默認值

alter table position alter test set default ‘system‘;

#表position去掉test默認值

alter table position alter test drop default;

#表position去掉列test

alter table position drop column test;

#表depart_pos刪除主鍵

alter table depart_pos drop primary key;

#表depart_pos添加主鍵

alter table depart_pos add primary key PK_depart_pos (department_id,position_id);

10、操作數據

#插入表department

insert into department(name,description) values(‘系統部‘,‘系統部‘);

insert into department(name,description) values(‘公關部‘,‘公關部‘);

insert into department(name,description) values(‘客服部‘,‘客服部‘);

insert into department(name,description) values(‘財務部‘,‘財務部‘);

insert into department(name,description) values(‘測試部‘,‘測試部‘);

#插入表s_position

insert into s_position(name,description) values(‘總監‘,‘總監‘);

insert into s_position(name,description) values(‘經理‘,‘經理‘);

insert into s_position(name,description) values(‘普通員工‘,‘普通員工‘);

#插入表depart_pos

insert into depart_pos(department_id,position_id)

select a.id department_id,b.id postion_id

from department a,s_position b;

#插入表staffer

insert into staffer(name,department_id,position_id) values(‘陳達治‘,1,1);

insert into staffer(name,department_id,position_id) values(‘李文賓‘,1,2);

insert into staffer(name,department_id,position_id) values(‘馬佳‘,1,3);

insert into staffer(name,department_id,position_id) values(‘亢志強‘,5,1);

insert into staffer(name,department_id,position_id) values(‘楊玉茹‘,4,1);

11、 查詢及刪除操作

#顯示系統部的人員和職位

select a.name,b.name department_name,c.name position_name

from staffer a,department b,s_position c

where a.department_id=b.id and a.position_id=c.id and b.name=‘系統部‘;

#顯示系統部的人數

select count(*) from staffer a,department b

where a.department_id=b.id and b.name=‘系統部‘

#顯示各部門的人數

select count(*) cou,b.name

from staffer a,department b

where a.department_id=b.id

group by b.name;

#刪除客服部

delete from department where name=‘客服部‘;

#將財務部改動為財務一部

update department set name=‘財務一部‘ where name=‘財務部‘;

12、 備份和恢復

備份數據庫staffer

c:\mysql\bin\mysqldump -uroot -proot staffer>e:\staffer.sql

得到的staffer.sql是一個sql腳本。不包含建庫的語句,所以你須要手工

創建數據庫才干夠導入

恢復數據庫staffer,須要創建一個空庫staffer

c:\mysql\bin\mysql -uroot -proot staffer

假設不希望后來手工創建staffer,能夠

c:\mysql\bin\mysqldump -uroot -proot --databases staffer>e:\staffer.sql

mysql -uroot -proot >e:\staffer.sql

但這種話系統種就不能存在staffer庫。且無法導入其它名字的數據庫,

當然你能夠手工改動staffer.sql文件

13、 從文本向數據庫導入數據

1)使用工具c:\mysql\bin\mysqlimport

這個工具的作用是將文件導入到和去掉文件擴展名名字同樣的表里。如

staffer.txt,staffer都是導入到staffer表中

經常使用選項及功能例如以下

-d or --delete 新數據導入數據表中之前刪除數據數據表中的全部信息

-f or --force 無論是否遇到錯誤。mysqlimport將強制繼續插入數據

-i or --ignore mysqlimport跳過或者忽略那些有同樣唯一

keyword的行, 導入文件里的數據將被忽略。

-l or -lock-tables 數據被插入之前鎖住表。這樣就防止了,

你在更新數據庫時,用戶的查詢和更新受到影響。

-r or -replace 這個選項與-i選項的作用相反;此選項將替代

表中有同樣唯一keyword的記錄。

--fields-enclosed- by= char

指定文本文件里數據的記錄時以什么括起的, 非常多情況下

數據以雙引號括起。 默認的情況下數據是沒有被字符括起的。

--fields-terminated- by=char

指定各個數據的值之間的分隔 符。在句號分隔的文件里,

分隔符是句號。您能夠用此選項指定數據之間的分隔符。

默認的分隔符是跳格符(Tab)

--lines-terminated- by=str

此選項指定文本文件里行與行之間數據的分隔字符串

或者字符。 默認的情況下mysqlimport以newline為行分隔符。

您能夠選擇用一個字符串來替代一個單個的字符:

一個新行或者一 個回車。

mysqlimport命令經常使用的選項還有-v 顯示版本號(version),

-p 提示輸入密碼(password)等。

這個工具有個問題。無法忽略某些列,這樣對我們的數據導入有非常大的麻煩。盡管

能夠手工設置這個字段。但會出現莫名其妙的結果。我們做一個簡單的演示樣例

我們定義例如以下的depart_no.txt,保存在e盤,間隔為制表符\t

10?10

11?11

12?24

執 行例如以下命令

c:\mysql\bin\mysqlimport -uroot -proot staffer e:\depart_pos.txt

在這里沒有使用列的包圍符號。切割採用默認的\t,由于採用別的符號會有問題,

不知道是不是windows的原因

2)Load Data INFILE file_name into table_name(column1_name,column2_name)

這個命令在mysql>提示符下使用。長處是能夠指定列導入。示比例如以下

c:\mysql\bin\mysql -uroot -proot staffer

mysql>load data infile "e:/depart_no.txt" into depart_no(department_id,position_id);

這兩個工具在Windows下使用都有問題,不知道是Windows的原因還是中文的問題,

并且不指定的列它產生了空值,這顯然不是我們想要的,所以慎重使用這些工具

mysql 學習筆記

標簽:load???target???策略???切換???where???空值???信息???query???環境

本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴

本文系統來源:http://www.cnblogs.com/slgkaifa/p/6817138.html

總結

以上是生活随笔為你收集整理的mysql中depart_mysql 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。