非后端开发Mysql日常使用小结
程序员文章站
2023-11-14 18:11:04
数据库的五个概念 1. 数据库服务器 2. 数据库 3. 数据表 4. 数据字段 5. 数据行 那么这里下面既是对上面几个概念进行基本的日常操作。 数据库引擎使用 这里仅仅只介绍常用的两种引擎,而InnoDB是从MySQL 5.6.版本以后InnoDB就是作为默认启动使用的存储引擎。 既然知道了这俩 ......
数据库的五个概念
- 数据库服务器
- 数据库
- 数据表
- 数据字段
- 数据行
那么这里下面既是对上面几个概念进行基本的日常操作。
数据库引擎使用
这里仅仅只介绍常用的两种引擎,而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";
上一篇: coreldraw怎么画罗纹?cdr服装设计中画罗纹的教程
下一篇: 洛谷 p1010 幂次方