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

非后端开发Mysql日常使用小结

程序员文章站 2023-11-14 18:11:04
数据库的五个概念 1. 数据库服务器 2. 数据库 3. 数据表 4. 数据字段 5. 数据行 那么这里下面既是对上面几个概念进行基本的日常操作。 数据库引擎使用 这里仅仅只介绍常用的两种引擎,而InnoDB是从MySQL 5.6.版本以后InnoDB就是作为默认启动使用的存储引擎。 既然知道了这俩 ......

数据库的五个概念

  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,缺点:就是不能在表损坏后恢复数据。(是不能主动恢复)

既然知道了这俩种引擎的优缺点,那么写一下几个常用的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

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

数据库操作

>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。

表字段操作

添加字段

语法: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 表名 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;                                             //提交事务,事务结束

数据增删改查

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

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

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");

-- 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";