欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL(二)

程序员文章站 2022-08-17 14:46:53
一:命令行连接数据库 打开终端,运行命令mysql -uroot -p (p后面加密码,可以直接加,也可以回车在下一行输入,为了不暴露密码,回车在下行输入 退出:exit或quit 查看版本信息: select version(); 显示当前时间: select now(); 查看所有的数据库:sh ......

一:命令行连接数据库  

  打开终端,运行命令mysql -uroot -p (p后面加密码,可以直接加,也可以回车在下一行输入,为了不暴露密码,回车在下行输入

  退出:exit或quit

  查看版本信息: select version();

  显示当前时间: select now();

  查看所有的数据库:show databases;

  使用数据库: use + 库名;

  查看当前使用的数据库: select database();

  创建数据库:create database 数据库名 charset=utf8;

        例:create database python charset=utf8;

  删除数据库:delete database 数据库名;

        例:delete database python;

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

  查看表结构: desc 表名;

  创建表:auto_increment表示自动增长 

create table table_name(
column1 datatype contrai,
column2 datatype,
column3 datatype,
.....
columnn datatype,
primary key(one or more columns)
);

  创建班级表:

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

 创建学生表:
create table students(
id int unsigned primary key auto_increment not null,
name varchar(20) default '',
age tinyint unsigned default 0,
height decimal(5,2),
gender enum('男','女','人妖','保密'),
cls_id int unsigned default 0
)

 

  修改表-添加字段:  

          alter table 表名 add 列名 类型;

          例:alter table students add birthday datetime;


  修改表-修改字段:重命名版       

          alter table 表名 change 原名 新名 类型及约束;
          例:alter table students change birthday birth datetime not null;


   修改表-修改字段:不重命名版      

          alter table 表名 modify 列名 类型及约束;

          例:alter table students modify birth date not null;


  修改表-删除字段 :

          alter table 表名 drop 列名; 
          例:alter table students drop birth


  删除表:
        drop table 表名;
        例:drop table students;


  查看建表语句:

      show create table 表名;
      例: show create table classes;


二: 数据库的怎删改查(curd)  

    curd的解释: 代表创建(create)、更新(update)、读取(retrieve)和删除(delete)  

  1.查询基本使用   

    (1)查询所有列  

        select * from 表名; 例: select * from classes;  

  
    (2)查询指定的列


        select 列1,列2 from 表名; 例: select id,name from classes;  

 

  2.增加

      格式:insert [into] tb_name [(col_name,...)] {values | value} ({expr | default},...),(...),...


      说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0或者 default 或者 null 来占位,插入成功后以实际数据为准

     (1)全列插入:值的顺序与表中字段的顺序对应

        insert into 表名 values(...);

        例:insert into students values(0,’郭靖‘,1,'蒙古','2016-1-2');

     (2)部分列插入,值的顺序与给出的列顺序对应

       insert into 表名(列1,列2,...)values(值1,值2,..);

       例:insert into students(name,hometown,birthday) values('黄蓉','桃花岛','2016-3-2');

     (3)全列多行插入:值的顺序与给出的列顺序对应

        insert into 表名 values(...),(...)...;  

        例:insert into classes values(0,'python1'),(0,'python2');

        nsert into 表名(列1,...) values(值1,...),(值1,...)...;

        例:insert into students(name) values('杨康'),('杨过'),('小龙女');   

  3.修改

     格式: update tb_name set col1={expr1|default} [,col2={expr2|default}]...[where 条件判断]  

       update 表名 set 列1=值1,列2=值2... where 条件

       例:update students set gender=0,hometown='北京' where id=5;   

 

   4.删除

      格式:delete from tbname [where 条件判断]

         truncate tbname

         delete from 表名 where 条件

         例:delete from students where id=5;


    
如果全部清空表中的数据delete from tbname;但是自增字段没有被重置
               truncate taname; 速度更快,并将自增字段重置

 

三:备份

  运行mysqldump命令

mysqldump –uroot –p 数据库名 > python.sql;

# 按提示输入mysql的密码

 

四:恢复

  1.连接mysql,创建新的数据库

  2.退出连接,执行下面的命令 

mysql -uroot –p 新数据库名 < python.sql

# 根据提示输入mysql密码