chenbin93

☆ 在终端中开启数据库:

    方式1:在管理员身份运行cmd终端中开启数据库: net start mysql57(服务名称) ==>连接数据库: mysql -u 用户名 -p ==> 输入密码

        (注意:可以设置mysql服务器开机自启动(计算机右键→管理→服务→mysql57双击更改启动方式))

    方式2:在mysql-client里面开启数据库: 直接输入密码就可以进入了.

☆ 退出登录:exit

☆ 远程连接数据库: mysql -h ip地址 -u 对方用户名 -p ==> 输入对方密码

☆ 数据库类型:关系型数据库: MySQL, Oracle等; 非关系型数据库(NoSQL): MongoDB, Redis等.


☆ 数据库操作:

    show databases;     # 查看所有数据库, detabase要加复数s

    create database demo charset=utf8;     # 创建数据库demo

    drop database demo;     # 删除数据库demo

    use demo     # 切换数据库, 要操作数据库得先选择使用一个数据库

    select database;     # 查看当前使用的数据库


☆ 表操作:

    show tables;     # 查看所有的表,查看表也要加s

    create table tenantinfo(字段1,字段2,...);     # 创建表tenantinfo

    实例:create table tenantinfo(id int auto_increment primary_key, name varchar(20))

    drop table tenantinfo;     # 删除表tenantinfo

    desc tenantinfo;     # 查看表tenantinfo的结构

    show create table tenantinfo;     # 查看创建表tenantinfo所使用的语句

    rename table tenantinfo to newtenantinfo;     # 将表tenantinfo的表名修改为newtenantinfo


☆ 数据操作:

    增:

    insert into 表名(字段1,字段2,...) values(值1,值2,...) ;     # 插入一条数据

    insert into 表名(字段1,字段2,...) values(值1,值2,...), (值1,值2,...) ;     # 插入多条数据

    实例:insert into student(name,age,height) values(\'Tom\',18,175) ;

    删:

    delete from 表名 where 条件;     # 删除表内数据 (警告:后面不加where条件会将表内数据全部删除)

    实例:delete from student where id=4;

    改:

    update 表名 set 字段1=值1, 字段2=值2,... where 条件 ;     # 修改表内数据(警告:如果后面不加条件会将所有数据的该字段的值都修改了)

    实例:update student set name=\'tom\',age=18 where id=7;

    查:

    select * from 表名 where 条件;     # 查看表内数据(这里的*代表所有的字段, 如果只想查询部分字段可用逗号分隔, 例select name,age from 表名;)


☆ 条件查询:

    a.语法:select 字段 from 表名 where 条件;

    b.比较运算符(=, >, <, >=, <=, !=):

    实例: select * from student where name=\'alick\';

            select id,age,sex from student where name=\'alick\';

    c.逻辑运算符(and, or, not):

        实例:select * from student where id>=3 and gender=0;     # 查询id>=3且性别为女的学生

    d.模糊查询:

        like: %表示多个任意字符、 _表示单个任意字符

        实例: select * from student where name like \'alic%\';     # 得到结果如alick、alickchen

        实例: select * from student where name like \'alic_\';      # 得到结果如alick

    e.范围查询:

        实例: select * from student where id in (2,7,12);     # 查询id为2,7,12的学生

        实例: select * from student where id between 5 and 10;     # 查询id在5-10之间的学生

    f.空查询:

        实例: select * from student where address is null;     # 查询住址为空的学生(非空是not null)

    g.优先级:

        小括号 > not > 比较运算符 > 逻辑运算符 ; and > or =>可用()来改变优先级

    h.排序:

        select * from 表名 order by 字段1 asc/desc, 字段2 asc/desc, ... ;     # asc升序,desc降序

    i.限制查询:

        select * from student limit 3;      # 查询前3条数据

 

☆ 数据库的备份及恢复

       a.物理备份:

          备份:cp  -a  /var/lib/mysql/*  /bakDir

          恢复:cp  -a  /bakDir/*  /var/lib/mysql/

              注:mysql数据库文件的存放路径是/var/lib/mysql/*(该目录下的文件一般有employees  ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.sock)

       b.逻辑备份:

          备份:mysqldump -h192.168.10.10 -P33066 -uroot -p\'123\' --databases testDB >/all/sql.bak #将数据库testDB中的内容备份到文件sql.bak中(用到了输出重定向) 

          恢复:mysql -uroot -p\'123\' testDB </all/sql.bak #将备份文件sql.bak中的数据库内容恢复到新建数据库testDB中(用到了输入重定向)

 

分类:

技术点:

相关文章: