1. 程式人生 > >mysql 數據庫基本命令語句

mysql 數據庫基本命令語句

desc 結構化查詢語言 pda upd 字符串 oot alt 嚴格模式 sql

mysql mariadb

客戶端連接
mysql -uroot -p;


客戶端退出
exit 或 \q


顯示所有數據庫
show databases;
show schemas;

創建數據庫
create database db1
charset utf8;


刪除數據庫
drop database db1;
drop database if exists db1;


查看表
show tables;
desc tb1;-------查看tb1的表結構
show create table tb1\G; -- 查看建表語句


表的增刪改查

創建
create table tb1(

id int primary key auto_increment,
name varchar(20) not null,
num int not null unique,
xid int,
foreign key(xid) references tb2(id),
)engine=innodb charset=utf8;

修改
alter table tb1 add gender char(1) after name;

alter table tb1 modify num int null;

alter table tb1 modify id int;

alter table tb1 modify id int auto_increment;

alter table tb1 drop primary key;

alter table tb1 drop foreign key(外鍵約束名);

alter table tb1 drop index 約束名;
alter table tb1 modify id int;

刪除表
drop table if exists tb1;

約束

主健 非空 唯一 外健 檢查


默認值

num int default 1;


mysql 的一個sql_mod變量

linux 中安裝mysql,sql_mod變量默認是空值,表示運行在‘不嚴格’模式,非空字段會插入,
字符段超長會被截斷

。。。。。。。。。。。。。。。。。。

可以修改這個變量使mysql運行在嚴格模式


-- 查看 sql_mode 變量的值
show variables like ‘sql_mode‘;


-- 修改
set global sql_mode=‘STRICT_TRANS_TABLES‘;

------退出,重新進入mysql,再查看變量
show variables like ‘sql_mode‘;

* * structured query language
結構化查詢語言

* sql標準語法
*各數據庫廠商都有自己的擴展語法
*)mysql 擴展
*)oracle plsql
*)sql server t-sql


*sql分類
*)DDL -----定義語言,建庫建表修改表
*)DML -----數據操作語言,增刪改
*)DQL ----- 數據查詢語言,select
插入數據insert

*insert into tb1 values(5,‘abc‘);
全部字段按字段順序插入值


* * insert into tb1(gender, name) values(‘M‘, ‘張三‘);
向指定的字段插入值

** * insert into tb1(gender, name)
values(‘M‘, ‘張三‘),
(‘F‘, ‘李四‘),
(‘M‘, ‘王五‘);
向表中一次插入多條數據(非標準sql)


* insert into tb1 select * from tb2
insert into tb1(name, gender) select name, gender from tb2
向tb1插入tb2表中的數據


修改數據update
===========================================================
*)update tb1 set name=‘abc‘,age=23,gender=null
where id=43;


刪除數據delete
===========================================================
*)delete from tb1 where .........


查詢數據
=========================================================
* where 子句
=等於
<>不等於
>大於
<小於
>=大於等於
<=小於等於

between 小值 and 大值範圍
in 指定幾個固定取值

like 模糊查詢 通常只查字符串
% -匹配0 到多個任意字符
_ -匹配單個任意字符

escape ‘\‘ : 指定轉移運算符

\_普通下劃線
\%普通%字符

is null


not
------------------------------
not between and
not in
is not null


and
or

mysql 數據庫基本命令語句