MySQL语句整理(一)

–01 mysql 数据库的操作
 
    — 链接数据库     mysql -uroot -pmysql     
    — 不显示密码  *****     mysql -uroot -p     
    — 退出数据库     quit/exit ctrl+d      
— sql语句最后需要有分号;结尾
    — 显示数据库版本 version     select version();  
    — 显示时间 now     select now();         
 — 查看当前使用的数据库     select database();      
 — 查看所有数据库     show databases;  
    — 创建数据库     create database 数据库名 charset = utf8;      
 — 查看创建数据库的语句     show create database 数据库名      
    — 使用数据库    use 数据库的名字
 
    — 删除数据库     drop database 数据库名;
 
–02 数据表的操作      
 — 查看当前数据库中所有表     show tables;         
    — 创建表
    — int unsigned 无符号整形
    — auto_increment 表示自动增长
    — not null 表示不能为空
    — primary key 表示主键
    — default 默认值
    — create table 数据表名字 (字段 类型 约束[, 字段 类型 约束]);     create table 表名(id int unsigned auto_increment primary key,name varchar(30) not null,age int unsigned);  
    — 修改表名     alter table 旧表名 rename 新表名;     rename table 旧表名 to 新表名;  
    — 查看表结构     desc 数据表的名字;       — 创建 students 表(id、name、age、high (decimal)、gender (enum)、cls_id)     create table students (id int unsigned auto_increment primary key,name varchar(30) not null ,age int unsigned,high decimal(5,2),gender enum(“男”,”女”,”保密”,”妖”) default “保密”,cls_id int unsigned);    
    — 查看表的创建语句     show create table 表名字;        
  — 修改表-添加字段 mascot (吉祥物) **     — alter table 表名 add 列名 类型;    
    — 修改表-修改字段:不重命名版     — alter table 表名 modify 列名 类型及约束;     alter table classes modify mascot varchar(100);     
  — 修改表-修改字段:重命名版  ***     — alter table 表名 change 原名 新名 类型及约束;     alter table classes change mascot jxw varchar(30);  
    — 修改表-删除字段  *     — alter table 表名 drop 列名;     alter table classes drop jxw;  
    — 删除表     — drop table 表名;     — drop database 数据库;     drop table classes; *     drop database python10; 半*        
–03 增删改查(curd)    
   — 增加         
— 全列插入         — insert [into] 表名(字段名) values(值)         — 主键字段 可以用 0  null   default 来占位         — 向classes表中插入 一个班级         insert into classes(name) values(“python10”);         insert into classes(name) values(‘python11‘),(‘python12‘);           
— 全部插入         insert into students(id,name,age,high,gender,cls_id) values(2,‘yangyang‘,18,1.80890,‘保密‘,001);         
— 部分插入         — insert into 表名(列1,…) values(值1,…)         insert into students(name) values(“yang3”);           
— 多行插入         insert into students(name) values(“张三”),(“李四”);         insert into 表名(字段) values(值) #一一对应      
 — 修改     — update 表名 set 列1=值1,列2=值2… where 条件;       
  — 全部修改         update students set name = “王五”         
— 按条件修改         update students set name =‘李四‘ where id = 4;      
   — 按条件修改多个值         — update students set gender =””,name = “xxx” where ;         update students set name=‘张三‘,age = 20 where id = 5;            
  — 查询基本使用         
— 查询所有列         — select * from 表名;       
  —定条件查询             select * from 表名 where id = 2;        
 — 查询指定列         — select 列1,列2,… from 表名;                 — 可以使用as为列或表指定别名         — select 字段[as 别名] , 字段[as 别名] from 数据表;         — 字段的顺序         select age,name from students;  
    — 删除    
     — 物理删除         — delete from 表名 where 条件;  
       — 逻辑删除         — 用一个字段来表示 这条信息是否已经不能再使用了         — 给students表添加一个 is_delete 字段 bit 类型         –alter table 表名 add 字段 类型 default 默认值;  
    — 数据库备份与恢复(了解)         — mysqldump –uroot –p 数据库名 > python.sql;         — mysql -uroot –p 新数据库名 < python.sql; # 注意导入的时候需要先要创建数据库