MySql 相关sql语句

-- 链接数据库
mysql -uroot -p
mysql -uroot -pxxx

-- 退出数据库
exit、quit、ctrl+d

-- 查看所有数据库
show databases;
大小写不分

-- 显示时间
select now();

-- 显示数据库版本
select version();

-- 创建数据库
-- create database 数据库名 charset=utf8;
create database python4;
create database python4new charset=utf8;

-- 查看创建数据库的语句
-- show create database 数据库名
show create database python4;
show create database python4new;

-- 删除数据库
-- drop database 数据库名
drop database `python-04`;

-- 使用数据库
use 数据库名

-- 查看当前数据库
select database();

-- 查看当前数据库中所有表
show tables;

-- 创建表
-- create table 数据表名(字段 类型 约束[, 字段 类型 约束]);
-- auto_increment
-- not null
-- primary key
-- default
create table xxx(id int, name varchar(30));
create table yyy(
id int primary key not null auto_increment,
name varchar(30)
);

create table student(
id int unsigned not null auto_increment primary key,
name varchar(30),
age tinyint unsigned default 0,
high decimal(5, 2),
gender enum("男", "女", "中性", "保密") default "保密",
cls_id int unsigned
);

inset into student values(0, "laowang", 18, 190, "男", 0);
select * from student;

create table classes(
id int unsigned not null auto_increment primary key,
name varchar(30)
);

-- 查看表结构
-- desc 表名
desc xxx;

-- 修改表结构 添加字段
-- alter table 表名 add 列名 类型;
alter table students add birthday datetime;

-- 修改表-修改字段,不重命名
-- alter table 表名 modify 列名 类型及约束
alter table students modify birthday date;

-- 修改表-修改字段:重命名
-- alter table 表名 change 原名 新名 类型及约束
alter table students change birthday birth date default "1990-01-01";


-- 修改表-删除字段
-- alter table 表名 drop 列名
alter table students drop high;


-- 删除表
-- drop table 表名;
drop database 数据库;
drop table xxxx;

-- 查看创建表的语句
show create table students;


----------- 存储引擎 ----------
MyISAM
Innodb


---------------CURD---------------------
create update retrieve delete
增删改查



-- ----增加----
-- 全列插入
-- insert [into] 表名 values(...)
-- 主键字段 可以用0 null default 来占位
insert into classes values(0, "菜鸟班");
insert into classes values(null, "菜鸟班");
insert into classes values(default, "菜鸟班");


inset into student values(0, "laowang", 18, 190, "男", 0);
-- 枚举 的 下标从1开始
insert into student values(0, "laowang", 18, 190, 1, 0);


-- 部分插入
-- insert into 表名(列名, ...) values(值, ...)
insert into students (name, gender) values("小乔", 2);


-- 多行插入
insert into students values(default "name1", 20, "女", 1, "1990-01-01"), (default "name2", 20, "女", 1, "1990-01-01")
insert into students (name, gender) values("name1", 1), ()

-- ---修改----
-- update 表名 set 列名=值, ... [where 条件]
update students set gender = 2;
update students set gender = 2 where id=3;
update students set gender = 2, age=22 where id=3;


-- 查询
select * from students;
select * from students where name="xxxx";

-- 查询指定列
-- select 列名,... from 表名
select name, gender from students where id>0;

-- 可以使用as为列或表指定别名
-- select 字段[as 别名], 字段[as 别名] from 表名 where 条件
select name as 姓名, gender as 性别 from students;

-- 调整字段顺序
select gender as 性别, name as 姓名 from students;


-- ---删除---
-- 物理删除
-- delete from 表名 where 条件
delete from students;
delete from students where name="xxx";

-- 逻辑删除
-- 用一个字段来表示,这条信息是否已经不能再使用了
alert table students add is_delete bit default 0;
update students set is_delete=1 where id=6;


打赏