MySql

作者: 游_弋 | 来源:发表于2020-01-19 22:57 被阅读0次

//连接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

相关文章

网友评论

      本文标题:MySql

      本文链接:https://www.haomeiwen.com/subject/ekupbctx.html