一、mysql命令
1.建立資料庫
create database test default charachar set utf8;
2.檢視資料庫
show databases;
3.選擇資料庫
use test;
4.檢視資料庫編碼
select schema_name,default_character_set_name from information_schema.schemata where schema_name=『test』;
5.刪除資料庫
drop database test;
6.建立表
creat table employees(
employee_id int,
last_name varchar(30),
salary float(8,2) //float型別,長度為8,小數點為2
);7.刪除表
drop table employees;
8.修改表名
alter table employees rename emp;
9.修改列名(將原來的列名:last_name修改為name)
alter table emp change column last_name name varchar(30);
10.修改列的型別(將name中的長度修改為40)
alter table emp modify name varchar(40);
11.新增新的列(增加新列commission_pct float(4,2) )
alter table emp add column commission_pct float(4,2);
12.刪除列commission_pct
alter table emp drop column commission_pot;
二、mysql約束
非空約束(not null)
唯一約束(unique)
主鍵約束(primary key) pk
外來鍵約束(foregin key) fk
檢查約束(mysql不支援,oracle支援)
1.檢視表中約束資訊
show keys from emp;
2.建立表約束(表名departments department_id主鍵且自增,department_name列不允許重複,location_id不含空值)
create table departments(
department_id int primary key auto_increment,
department_name varchar(30) unique,
location_id int nor null
);3.建立employees表包含employees_id為主鍵且自動增長,last_name不允許為空,email不允許重複,不允許為空。depr_id為外來鍵參照departments表為主鍵
create table employees(
employee_id int primary key auto_increment,
last_name varchar(30) not null,
email varchar(40) unique,
dept_id int ,
constraint emp_fk foreign key(dept_id) references departments(department_id);
);4.修改主鍵約束
alter table 表名 add primary key 列名
新增主鍵:alter table emp add primary key(employee_id)
新增自動增長:alter table emp modify employee_id int auto_increment;
5.刪除主鍵約束
alter table 表名 drop primary key
注意:在刪除主鍵時,如果主鍵中有自動增長 要先刪除自動增長
刪除主鍵employee_id 的主鍵約束
去掉自動增長:alter table emp modify employee_id int;
刪除主鍵:alter table emp drop primary key;
6.修該非空約束
新增非空約束:alter table emp mofiy salary float(8,2) not null;
刪除非空約束:alter table emp mofiy salary float(8,2) null;
7.修改唯一約束
新增唯一約束:alter table emp add constraint emp_uk unique(name);
刪除唯一約束:alter table emp drop key emp_uk;
8.修改外來鍵約束
新增dept_id列·:alter table add column dept_id int;
alter table 表名 add constraint 約束名 foreign key(列名) reference參照表(參照的列名);
新增外來鍵:alter table emp add constraint e_fk foreign key(dept_id) reference departments(department_id);
alter table 表名 drop foreign key 約束名;
刪除外來鍵:alter table emp drop foreign key e_fk;
刪除索引:alter table emp drop index e_fk;
三、mysql中的dml操作(insert、delete、update)
1.insert插入資料
選擇插入資料
insert int departments(department_name,location_id) values(「admin」,1);
完全插入一條資料
如果主鍵是自動增長時:需要使用default或者null或者0佔位
insert into departments values(default,「development」,2);
7.1.2自動增長(auto_increment)
mysql 中的自動增長型別要求:
• 乙個表中只能有乙個列為自動增長。
• 自動增長的列的型別必須是整數型別。
• 自動增長只能新增到具備主鍵約束與唯一性約束的列上。
• 刪除主鍵約束或唯一性約束,如果該列擁有自動增長能力,則需要先去掉自動增長然
後在刪除約束。
建立乙個自動增長的列
create table emp2(
id int primary key,
name varchar(30),
seq_num int unique auto_increment
);2.update更新
7.2.1mysql 的 update 的特點
•更新的表不能在 set 和 where 中用於子查詢;
• update 後面可以做任意的查詢
update e*** e set e.address=「beijing」 where emp_id=1;
7.2.1.1 示例一更新 e*** 表中的 id 為 1 的資料,新增 address 為 beijing。
update e*** e set e.address = 「beijing」 where emp_id = 1;
7.2.1.2 示例二方式一:更新 e*** 中 id 為 2 的資料,將位址修改為與 id 為 1 使用者的位址相同
oracle:update e*** e set e.address = (select address from e*** where emp_id = 1)where e.emp_id = 2;
mysql: update e*** e ,(select address from e*** where emp_id = 1)t set e.address = t.address where e.emp_id =2;
方式二:更新 e*** 中 id 為 2 的資料,將位址修改為與 id 為 1 使用者的位址相同
update e*** e set e.address = (select t1.address from (select emp_id, address from e***)t1 where t1.emp_id = 1 ) where e.emp_id = 2;
3.delete刪除資料 delect 和 truncate
1.刪除e***表中emp_id為1的雇員資訊
delete from e*** where emp_id=1;
2.使用truncate清空表
刪除e***表中的所有資料
truncate table e***;
delete 與truncate區別
1.truncate 是整體刪除、delete是逐條刪除
2.truncate 不寫伺服器log, delete寫伺服器log,這也就是truncate效率比detele高的原因
3.truncate會重置自增的值,而detele不會重置自增的值
四、mysql中的事務提交
start transaction;
insert into e*** values(defaulrt ,"older",default,****ult);
commit;
命令列 mysql 語句 MySQL命令列語句學習
1 mysql root 進入資料庫 2 help h 幫助 3 show databases 展示已經安裝的庫 4 create database 建立新的資料庫 5 drop database 刪除資料庫 6 use 使用資料庫 7 create table user id int,userna...
MySQL操作命令語句例項
e良師益友網 1 啟動mysql伺服器 如何啟動mysql。有兩種方法 一是用winmysqladmin,如果機器啟動時已自動執行,則可直接進入下一步操作。二是在dos方式下執行 d mysqlbinmysqld 2 進入mysql互動操作介面 在dos方式下,執行 d mysqlbinmysql ...
初識MySQL的命令語句
運算元據庫語句命令 1 建立資料庫命令 create database 資料庫名 2 檢視資料庫列表命令 show database 3 切換資料庫命令 use 資料庫名 4 刪除資料庫語句 drop database 資料庫名 5 建立表語法 內的屬性是選用的 可以寫 也可以不寫 create t...