//连接mysql
mysql -u root -h 47.101.205.200 -p //连接mysql
exit; //退出mysql
//启动停止mysql
mysqld --console //window系统下 - 启动mysql
mysqladmin -uroot shutdown //window系统下 - 停止mysql
service mysqld start //centos系统下 - 启动mysql
service mysqld stop //centos系统下 - 关闭mysql
service mysqld restart //centos系统下 - 重启mysql
service mysqld status //centos系统下 - 查看服务状态
//展示数据库、数据库表等...
SHOW DATABASES; //列出 MySQL 数据库管理系统的数据库列表。
SHOW TABLES; //显示指定数据库的所有表
select * from 数据表名; //读取数据库表
SHOW COLUMNS FROM 数据表名; //显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
//创建、删除、使用、数据库
CREATE DATABASE 数据库名; //创建数据库
drop database <数据库名>; //删除数据库
use 数据库名; //选择数据库
//创建、删除数据库表
ALTER TABLE store RENAME TO store999; //修改表名称
DROP TABLE table_name; //删除数据库表
//创建数据库表
CREATE TABLE IF NOT EXISTS `table_name`(
`table_id` INT UNSIGNED AUTO_INCREMENT,
`table_title` VARCHAR(100) NOT NULL,
`table_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `table_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
// NOT NULL 在操作数据库时如果输入字段为null报错
// AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
// PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
// ENGINE 设置存储引擎,CHARSET 设置编码。
//增删改查表数据
*** where多判断 where id=1 or id=2 or id=3 .....; where id in (1,2,3...);
*** SELECT name FROM person_tbl WHERE name REGEXP '^st' || 'ok$' || 'mar'; // 正则匹配开头 结尾 包含
*** like匹配/模糊匹配 select * from store where info like '%服不服%';
'%a' //以a结尾的数据
'a%' //以a开头的数据
'%a%' //含有a的数据
'_a_' //三位且中间字母是a的
'_a' //两位且结尾字母是a的
'a_' //两位且开头字母是a的
------------------------------------------------------------------------------------------------------------
insert into store(id,imgUrl,title,info,price,count) values (22,'imgUrl22','title22','info22',22,22); //在表中插入数据
update store set id=999 where id=212; //在表中修改数据
delete from store where id=1; //在表中删除数据
//可以选择多个字段或表 , 分隔, where语句包含条件, limit设定返回的数量, offset设置开始查询的位置, BINARY 区分大小写,
select id from store where BINARY id = 5 limit 3 offset 0; // 根据条件查询数据
------------------------------------------------------------------------------------------------------------
//设置主键 放置重复 (重复报错)
ALTER TABLE store ADD PRIMARY KEY ( id );
//UNION [ALL | DISTINCT] 删除结果重复数据********************(不在mysql修改)
select id from store union distinct select id from store;
//ORDER BY读取的数据进行排序 asc升序 desc降序********************(不在mysql修改)
select id from store order by id desc;
//根据某个字段分组,并统计每个人有多少条记录
SELECT id, COUNT(*) FROM store GROUP BY id;
//可以实现在分组统计数据基础上再进行相同的统计, 例如我们将以上的数据表按名字进行分组,再统计每个人登录的次数: NULL 表示所有人的登录次数。
SELECT id, SUM(singin) as singin_count FROM store GROUP BY id WITH ROLLUP;
// coalesce 来设置一个可以取代 NUll 的名称, 参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。
SELECT coalesce(id,'总数'), SUM(count) FROM store GROUP BY id WITH ROLLUP;
//如果字符集采用的是 utf8(万国码),需要先对字段进行转码然后排序:
select id from store order by CONVERT(id using gbk);
//查询数据库表中是否为NULL。
WHERE id IS NULL; <==> WHERE id IS NOT NULL;
//查找多个表写法
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a, tcount_tbl b WHERE a.runoob_author = b.runoob_author;
//删除,添加或修改表字段
ALTER TABLE store DROP price; //删除表字段
ALTER TABLE store ADD table_id INT; //添加table_id字段,并定义数据类型:
ALTER TABLE store change table_id price111 INT; //修改table_id字段为price111, 并定义数据类型;自动该字段默认为 NULL。
alter table store modify price INT NOT NULL DEFAULT 100; //修改字段默认值
ALTER TABLE store ALTER price SET DEFAULT 9999; //修改字段默认值
//修改数据表类型
SHOW TABLE STATUS like 'store'\G; //查看类型
ALTER TABLE store ENGINE = InnoDB; //修改数据表类型 MYISAM
网友评论