非后端开发Mysql日常使用小结_梵醉_前端开发者

数据库的五个概念

  1. 数据库服务器
  2. 数据库
  3. 数据表
  4. 数据字段
  5. 数据行
  • 数据库服务器
  • 数据库
  • 数据表
  • 数据字段
  • 数据行
  • 那么这里下面既是对上面几个概念进行基本的日常操作。

    数据库引擎使用

    这里仅仅只介绍常用的两种引擎,而InnoDB是从MySQL 5.6.版本以后InnoDB就是作为默认启动使用的存储引擎。

    (1) InnoDB
            a,支持ACID,简单地说就是支持事务完整性、一致性;
            b,支持行锁,以及类似ORACLE的一致性读,多用户并发;
            c,独有的聚集索引主键设计方式,可大幅提升并发读写性能;
            d,支持外键;
            e,支持崩溃数据自修复;
            InnoDB设计目标是处理大容量数据库系统,它的CPU利用率是其它基于磁盘的关系数据库引擎所不能比的。
             它是一个可靠地事务处理引擎,不支持全文本搜索
    
    (2) MyISAM
            a,不支持 每次查询具有原子性
            b,只支持表所
            c,强调的是性能,其执行数 度比InnoDB类型更快,但是不提供事务支持
            d,如果执行大量的SELECT,MyISAM是更好的选择
            e,缺点:就是不能在表损坏后恢复数据。(是不能主动恢复)
    

    (1) InnoDB
    a,支持ACID,简单地说就是支持事务完整性、一致性;
    b,支持行锁,以及类似ORACLE的一致性读,多用户并发;
    c,独有的聚集索引主键设计方式,可大幅提升并发读写性能;
    d,支持外键;
    e,支持崩溃数据自修复;
    InnoDB设计目标是处理大容量数据库系统,它的CPU利用率是其它基于磁盘的关系数据库引擎所不能比的。
    它是一个可靠地事务处理引擎,不支持全文本搜索

    (2) MyISAM
    a,不支持 每次查询具有原子性
    b,只支持表所
    c,强调的是性能,其执行数 度比InnoDB类型更快,但是不提供事务支持
    d,如果执行大量的SELECT,MyISAM是更好的选择
    e,缺点:就是不能在表损坏后恢复数据。(是不能主动恢复)

    既然知道了这俩种引擎的优缺点,那么写一下几个常用的API操作。

    show engines;   --显示所有可用的引擎
    
    show table status from myDB;   --查看myDB数据库下的所有表使用的引擎
    
    show create table 表名;         --指定查看表名的所有段名以及引擎
    
    create table 表名(id int primary key, name varchar(50)) engine=MyISAM; --建表的时候指定引擎   
    
    alter table 表名 Engine= MyISAM; --建完表后修改引擎为MyISAM
    

    show engines; --显示所有可用的引擎

    show table status from myDB; --查看myDB数据库下的所有表使用的引擎

    show create table 表名; --指定查看表名的所有段名以及引擎

    create table 表名(id int primary key, name varchar(50)) engine=MyISAM; --建表的时候指定引擎

    alter table 表名 Engine= MyISAM; --建完表后修改引擎为MyISAM

    当然,也可以通过修改配置文件my.ini在[mysqld]最后添加为上default-storage-engine=InnoDB,重启服务,数据库默认的引擎修改为InnoDB。

    my.ini

    数据库操作

    >net start mysql  //启动数据库和停止net stop mysql
    
    >mysql -u root -p   //默认登陆本机(-h是主机地址)
    
    >SELECT USER();   //显示当前用户
    
    >create database 数据库名;    //创建数据库
    
    >SELECT DATABASE();   //显示当前使用数据库
    
    >SHOW DATABASES        //显示所有数据库列表
    
    >USE DATABASE 库名;     //使用该数据库
    
    >DROP DATABASE 库名   //删除数据库
    
    >CMD终端:mysqladmin -u用户名 -p旧密码 password 新密码   //修改密码
    
    >mysql语句:set password for 用户名@localhost = password('新密码'); 
    

    >net start mysql //启动数据库和停止net stop mysql

    >mysql -u root -p //默认登陆本机(-h是主机地址)

    >SELECT USER(); //显示当前用户

    >create database 数据库名; //创建数据库

    >SELECT DATABASE(); //显示当前使用数据库

    >SHOW DATABASES //显示所有数据库列表

    >USE DATABASE 库名; //使用该数据库

    >DROP DATABASE 库名 //删除数据库

    >CMD终端:mysqladmin -u用户名 -p旧密码 password 新密码 //修改密码

    >mysql语句:set password for 用户名@localhost = password('新密码');

    数据表操作

    >SHOW TABLES;   //列出库中所有的表
    
    >DESCRIBE table1;  //查看表结构
    
    >show columns from 数据表;   //显示表的所有段名以及类型
    
    >CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1)); //增加数据表和字段名
    
    >DROP TABLE 表名;  //删除表
    
    >alter table stu rename as students;  //将旧表明stu改为新表明students。
    

    >SHOW TABLES; //列出库中所有的表

    >DESCRIBE table1; //查看表结构

    >show columns from 数据表; //显示表的所有段名以及类型

    >CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1)); //增加数据表和字段名

    >DROP TABLE 表名; //删除表

    >alter table stu rename as students; //将旧表明stu改为新表明students。

    表字段操作

    添加字段

    语法:ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 DEFAULT NULL;
    
    示例:ALTER TABLE dictionary ADD COLUMN calss VARCHAR(10) DEFAULT NULL;
    -- dictionary是表名
    

    语法:ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 DEFAULT NULL;

    示例:ALTER TABLE dictionary ADD COLUMN calss VARCHAR(10) DEFAULT NULL;
    -- dictionary是表名

    修改字段名称

    语法:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段类型 DEFAULT NULL;
    
    示例:ALTER TABLE dictionary CHANGE calss class VARCHAR(10) DEFAULT NULL;
    

    语法:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段类型 DEFAULT NULL;

    示例:ALTER TABLE dictionary CHANGE calss class VARCHAR(10) DEFAULT NULL;

    删除字段

    语法:ALTER TABLE 表名 DROP COLUMN 字段名
    
    示例:ALTER TABLE dictionary DROP COLUMN calss;
    

    语法:ALTER TABLE 表名 DROP COLUMN 字段名

    示例:ALTER TABLE dictionary DROP COLUMN calss;

    批量增加字段

    bagin;                                           //事务开始
    alter table em_day_data add f_day_house7 int(11);
    alter table em_day_data add f_day_house8 int(11);
    alter table em_day_data add f_day_house9 int(11);
    alter table em_day_data add f_day_house10 int(11);
    commit;                                             //提交事务,事务结束
    

    bagin; //事务开始
    alter table em_day_data add f_day_house7 int(11);
    alter table em_day_data add f_day_house8 int(11);
    alter table em_day_data add f_day_house9 int(11);
    alter table em_day_data add f_day_house10 int(11);
    commit; //提交事务,事务结束

    数据增删改查

    MySQL语句忽略大小写的。每张数据表只能存在一个主键。

    Tip: 由于数据表的首个字段名(就是主键,假如是id)是不能重复命名的(建议使用id,因为每张表只能存在一个主键),所以建议删除的时候使用(where id=1)键名来定位匹配更好。

    Tip:

    var  sql = 'SELECT * FROM websites';   --查询整个websites表所有数据
    var  sql = 'SELECT name FROM websites';  --查询整个websites表name字段数据
    

    var sql = 'SELECT * FROM websites'; --查询整个websites表所有数据
    var sql = 'SELECT name FROM websites'; --查询整个websites表name字段数据

    -- websites表必须存在(Id,name,url,alexa,country)这些字段名
    var  addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(2,"taobao","http://wwww.taobao.com","3","CN")';
    
    insert into table1(id,name,url,country) values(6,"lucas","https://wwww.lucas.com","CN");
    

    -- websites表必须存在(Id,name,url,alexa,country)这些字段名
    var addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(2,"taobao","http://wwww.taobao.com","3","CN")';

    insert into table1(id,name,url,country) values(6,"lucas","https://wwww.lucas.com","CN");

    -- where是定位到上面的增加数据(可以使用任何"字段名=值"来匹配),并更改俩个数据
    var modSql = 'UPDATE websites SET name = "facebook",url = "http://www.facebook.com" WHERE Id = 2';
    
    var modSql = 'update websites SET alexa="12" where name="taobao"';  --定位name字段为taobao并更新了alexa字段的值
    

    -- where是定位到上面的增加数据(可以使用任何"字段名=值"来匹配),并更改俩个数据
    var modSql = 'UPDATE websites SET name = "facebook",url = "http://www.facebook.com" WHERE Id = 2';

    var modSql = 'update websites SET alexa="12" where name="taobao"'; --定位name字段为taobao并更新了alexa字段的值

    var delSql = 'DELETE FROM websites where id=2';  -- 删除id=2的数据(当然)
    
    -- 删除name=lucas的数据(建议使用id,因为每张表只能存在一个主键),因为他会将表中所有name=lucas的值全部删除
    delete from websites where name="lucas";   
    

    var delSql = 'DELETE FROM websites where id=2'; -- 删除id=2的数据(当然)

    -- 删除name=lucas的数据(建议使用id,因为每张表只能存在一个主键),因为他会将表中所有name=lucas的值全部删除
    delete from websites where name="lucas";

    » 本文来自:前端开发者 » 《非后端开发Mysql日常使用小结_梵醉_前端开发者》
    » 本文链接地址:https://www.rokub.com/73695.html
    » 您也可以订阅本站:https://www.rokub.com
    赞(0)
    64K

    评论 抢沙发

    评论前必须登录!