MySQL命令語句

2021-09-25 21:48:05 字數 4775 閱讀 9462

一、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...