mysql 一

vue mysql django git linux spider scrapy  spider redis mogodb pyspider shell node.js

DBMS:数据库管理系统

命令来检查MySQL服务器是否启动:grep mysqld

USE 数据库名 :选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。

库操作:

数据控制语言 ( DCL):grant语句用于给用户增加权限,revoke语句用于收回用户的权限

数据定义语言(DDL):DROP、CREATE、ALTER等语句

数据操作语言(DML):INSERT、UPDATE、DELETE语句

数据查询语言(DQL):SELECT语句

增:create database db1 charset utf8; 

删:drop database db1; 

查:show databases;查创建数据库的信息 show create database db_name;

查当前操作所在数据库名称:select database();

表操作:

创建表: creat table 表名(字段名1 类型[(宽度)约束条件],字段名2 类型[(宽度)约束条件] ) engine=innodb default charset utf8;

     create table info1(id int not null auto_increment primary key,name varchar(50) not null,sex char(2)  null); 

     auto_increment表示自增长,默认自增+1;注:自增只能添加在主键或者唯一索引字段上;

     primary key表示主键(唯一且不为空);

     engine=innodb表示指定当前的存储引擎;

     default charset utf8表示设置默认编码集

     after name 表示在name 字段后添加字段xx

     change 可以改变字段名字和属性

     modify只能改变字段属性

     联合主键:及多个主键同时创建联合在一起,删除也是同时删除的

     char和varchar区别:char可固定长度(效率高),varchar长度可变(效率相对低)。

查看表:   

      查看表数据select * from infor1;或者select 字段(多个以逗号间隔) from 表名;

      查看表结构desc info1; 

      查看表的创建信息show create table info1;

删除表:

     drop table 表名;

   清空表数据--truncate table 表名

修改表:

    添加字段alter table 表名 add 字段名 类型 条件; 

   删除字段alter table info1 drop age;

   修改字段属性alter table info1 modify name char(100) null;

   修改表字段alter table info1 change 旧字段 新字段 varchar(50) not null default 0;

      添加主键alter table info1 add primary key(字段,多个用逗号间隔);

 

删除主键alter table info1 drop primary key;
设置默认值alter table info1 alter sex set default 'nan';
删除默认值alter table info1 alter sex drop default;
移除主键时需要先去掉自增属性(如果主键为自增长,则不能直接移除主键,需先去掉主键自增长属性,然后再移除主键)alter table info1 modify id int not null drop PRIMARY key;
添加外键:alter table 从表 add constraint fk_test foreign key(从表 字段) references 主表(字段);
移除外键:alter table 表 drop foreign key 外键名称;注:如果外键设置后想修改,那么只能先删除,再添加。
7.修改表名称:rename table info1 to info
复制表  
复制表a.create table info3 select * from info where id =1;主键自增/索引/触发器/外键 不会 被复制.
复制表结构create table info5 select* from info where 1!=1; 或  create table info4 like info;数据/触发器/外键 不会被复制。

 MySQL支持多种类型,大致可以分为四类:数值、字符串类型、日期/时间和其他类型。

数据操作

增:按字段插入-- insert into 表名(字段1,字段2...) values(值1,值2...);

 按字段顺序插入-- insert into 表名 values(值1,值2...);

  插入多条记录-- insert into 表名 values(值1,值2...),(值1,值2... ),(值1,值2... );

 插入查询结果-- insert into 表名(字段1,字段2...) select 字段1,字段2...from 表名 ; 

 删:删除指定单条数据 -- delete from 表 where 条件; 

删除指定多条数据--delete from 表名 where 条件1 or 条件2 or 条件3....或delete from 表名 where 条件in(,,,)
删除整张表中所有的数据 -- delete from 表; truncate 表; 或者truncate table 表名;
改:更新整表数据--update 表 set 字段1='值1',字段2='值2'...;
    更新符合条件字段的数据--update 表 set 字段1='值1',字段2='值2'...where 字段3='值3';
查:查询所有 --select * from 表名; 

 按指定字段查询--select name,SEX as'性别' from person; 

表示为字段起别名-- as;

可以进行数据列运算(仅限加减法运算) --select salary+200 from person; 

去重复查询(特性:需要保证所有字段相同才可以去重) -- select distinct age,name from

    条件查询1.运算符select * from person where age >20;select * from person where age <=20;select * from person where age <>20;select * from person where age !=20;
                 2.null 关键字select * from person where dept_id is null;select * from person where dept_id is  not null;select * from person where name  ='';
                 3.逻辑运算符 and or :select * from person where age = 28 and salary =53000;select * from person where age = 23 or  salary=2000;select * from person where not(age = 28 and salary =53000);
   区间查询:select * from person where age between 18 and 20;ps: between...and 前后包含所指定的 值。等价 于select * from person where salary >= 4000 and salary<= 8000;   
    集合查询:select * from person where age in(1,3,5);等价于select * from person where id = 1 or id = 3 or id =5;select * from person where id not in(1,3,5);
    模糊查询:包含指定参数 --select * from person where name like '%e%';以什么结尾-- select * from person where name like '%e'; 以什么开头-- select * from person where name like 'e%'; _表示单个字符站位 符--select * from person where name like  '__e%';select * from person where name like '__'; 排除名字带 a的学生--select * from student where name not like 'a%'ps:%-- 任意 多个字符。_只能是单个字符。
    排序查询:select * from person where age >30 order by salary desc; -- asc正序 desc倒序select * from person order by convert(name using gbk);-- 中文排序

 

 

 

 

 

 

 

 

 

SHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表。

SHOW TABLES:显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。

SHOW COLUMNS FROM 数据表:显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。

SHOW INDEX FROM 数据表:显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

SHOW TABLE STATUS FROM RUNOOB;显示数据库 RUNOOB 中所有表的信息

SHOW TABLE STATUS from RUNOOB LIKE 'runoob%';表名以runoob开头的表的信息

SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G; 加上 \G,查询结果按列打印

 

 


posted @ 2018-05-23 07:30  liang哥哥  阅读(108)  评论(0)    收藏  举报