-- 一著蟹、mysql 數(shù)據(jù)庫的操作
? ? -- 連接數(shù)據(jù)庫
mysql -uroot -pmysql
-- 不顯示密碼
mysql -uroot -p
mysql
? ? -- 退出數(shù)據(jù)庫
? ? quit/exit
? ? -- sql語句最后需要有分號;結(jié)尾
? ? -- 顯示數(shù)據(jù)庫版本 version
? ? select version();
? ? -- 顯示時間
select now();
-- 查看當(dāng)前使用的數(shù)據(jù)庫
? ? select database();
? ? -- 查看所有數(shù)據(jù)庫
show databases;
? ? -- 創(chuàng)建數(shù)據(jù)庫
? ? -- create database 數(shù)據(jù)庫名 charset=utf8;
create database test_01;
create database test_01 charset=utf8;
? ? -- 查看創(chuàng)建數(shù)據(jù)庫的語句
? ? -- show create database ....
? show create database test_01;
? ? -- 使用數(shù)據(jù)庫
? ? -- use 數(shù)據(jù)庫的名字
? ? use test_01;
? ? -- 刪除數(shù)據(jù)庫
? ? -- drop database 數(shù)據(jù)庫名;
? drop database test_01;
-- 二蜈抓、數(shù)據(jù)表的操作
? ? -- 查看當(dāng)前數(shù)據(jù)庫中所有表
? show tables;
? ? -- 創(chuàng)建表
-- int unsigned 無符號整形
? ? -- auto_increment 表示自動增長
? ? -- not null 表示不能為空
? ? -- primary key 表示主鍵
? ? -- default 默認(rèn)值
? ? -- create table 數(shù)據(jù)表名字 (字段 類型 約束[, 字段 類型 約束]);
create table xxx (
id int unsigned primary key auto_increment not null,
name varchar(20) not null
);
? ? -- 查看表結(jié)構(gòu)
? ? -- desc 數(shù)據(jù)表的名字;
desc xxx;
? ? -- 創(chuàng)建 classes 表(id、name)
create table classes (
id int unsigned primary key not null auto_increment,
name varchar(20) not null
);
? ? -- 創(chuàng)建 students 表(id、name哲泊、age堪侯、high (decimal)、gender (enum)猖辫、cls_id)
? ? create table students (
id int unsigned primary key not null auto_increment,
name varchar(20) not null,
age int unsigned,
high decimal(5,2),
gender enum("男","女","中性","保密") default "保密",
cls_id int unsigned
);
? ? -- 查看表的創(chuàng)建語句
? ? -- show create table 表名字;
? show create table xxx;
字段的操作
? ? -- 修改表-添加字段 mascot (吉祥物)
? ? -- alter table 表名 add 列名 類型;
? alter table classes add chongwu varchar(20) default "一輛寶馬車";
? ? -- 修改表-修改字段:不重命名版
? ? -- alter table 表名 modify 列名 類型及約束;
alter table classes modify chongwu varchar(20) default "一棟房子";
? ? -- 修改表-修改字段:重命名版
? ? -- alter table 表名 change 原名 新名 類型及約束;
alter table classes change chongwu mascot varchar(20) default "一個美夢";
? ? -- 修改表-刪除字段
? ? -- alter table 表名 drop 列名;
alter table classes drop mascot;
? ? -- 刪除表
? ? -- drop table 表名;
? ? -- drop database 數(shù)據(jù)庫;
? drop table xxx;
? drop database xxx;
-- 三酥泞、數(shù)據(jù)的操作,增刪改查(curd)
? ? -- 增加
? ? ? ? -- 全列插入
? ? ? ? -- insert [into] 表名 values(...)
? ? ? ? -- 主鍵字段 可以用 0? null? default 來占位
? ? ? ? -- 向classes表中插入 一個班級
insert into classes values(1,'zhansan');
? ? ? ? -- 向students表插入 一個學(xué)生信息啃憎,auto_increment 如果需要默認(rèn)自增芝囤,可以填0,null辛萍,default
insert into students values(1,'list',18,178,'男',001);
insert into students values(default,'wangwu',17,170,'男',001);
insert into students values(default,'zhaoqi',19,160,2,002);
insert into students values(default,'zhaoba',120,160,default,003);
? ? ? ? -- 部分插入
? ? ? ? -- insert into 表名(列1,...) values(值1,...)
insert into students(name) values('老李');
? ? ? ? -- 多行插入
insert into students values(0,'老劉',40,160,'男',003),(0,'老王',20,180,default,003);
? ? -- 修改
? ? -- update 表名 set 列1=值1,列2=值2... where 條件;
? ? ? ? -- 全部修改
update students set gender='中性';
-- 按條件修改
update students set gender='女' where id=2;
-- 按條件修改多個值
update students set gender='男' where cls_id=3;
? ? -- 查詢基本使用
? ? ? ? -- 查詢所有列
? ? ? ? -- select * from 表名;
? ? ? ? select * from students;
? ? ? ? ---定條件查詢
select * from students where cls_id=1;
? ? ? ? -- 查詢指定列
? ? ? ? -- select 列1,列2,... from 表名;
select name,gender from students where cls_id=1;
? ? ? ? -- 可以使用as為列或表指定別名
? ? ? ? -- select 字段[as 別名] , 字段[as 別名] from 數(shù)據(jù)表 where ....;
? ? ? ? select name as '姓名',gender as '性別' from students;
? ? ? ? -- 字段的順序
select gender as '性別',name as '姓名' from students;
? ? -- 刪除
? ? ? ? -- 物理刪除
? ? ? ? -- delete from 表名 where 條件
? ? ? ? delete from students where id=1;
? ? ? ? -- 邏輯刪除
? ? ? ? -- 用一個字段來表示 這條信息是否已經(jīng)不能再使用了
? ? ? ? -- 給students表添加一個 is_delete 字段 bit 類型
alter table students add is_delete bit default 0;
update students set is_delete=1 where id=3;
-- 數(shù)據(jù)庫備份與恢復(fù)
-- mysqldump –uroot –p 數(shù)據(jù)庫名 > python.sql;
-- mysql -uroot –p 新數(shù)據(jù)庫名 < python.sql;