mysql 數據庫基本命令語句
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 數據庫基本命令語句