mysql相关命令

1、MySQL服务启动/关闭:

net start mysql
net stop  mysql

2、管理mysql命令

分号注意表示语句结束,别忘写

  1. use 数据库名; 选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。
  2. show databases; 列出 MySQL 数据库管理系统的数据库列表。
  3. show tables; 显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
  4. show columns from 数据库;显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
  5. show index from 数据库;显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
  6. show table status from 数据库名;显示该数据库中所有表的信息
  7. show table status from 数据库名 like ’runoob%‘;表名以runoob开头的表的信息
  8. show table status from 数据库名 like ’runoob%‘\G;加上 \G,查询结果按列打印
  9. mysql -u root -p 进入数据库

3、创建数据库以及删除数据库

1、在登陆 MySQL 服务后,使用 create 命令创建数据库

create database 数据库名;
2、root用户下 ----在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。
drop 命令删除数据库
drop database <数据库名>;
例如删除名为 RUNOOB 的数据库:
drop database RUNOOB;

4、MySQL 数据类型

MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型

MySQL 支持所有标准 SQL 数值数据类型。

这些类型包括严格数值数据类型(integer、smallint、decimal 和numeric),以及近似数值数据类型(float、real 和 double percision)。

日期和时间类型

表示时间值的日期和时间类型为datetime、date、timestamp、time和year。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

timestamp类型有专有的自动更新特性,将在后面描述。

类型 大小(bytes) 格式 用途
date 3 YYYY-MM-DD 日期值
time 3 HH:MM:SS 时间值或持续时间
year 1 YYYY 年份值
datatime 8 YYYY-MM-DD HH:MM:SS 混合日期和时间值
timestamp 4 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

字符串类型

字符串类型指char、varchar、binary、varbinary、blob、text、enum和set。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

类型 大小 用途
char 0-255 bytes 定长字符串
varchar 0-65535 bytes 变长字符串
blob 0-65 535 bytes 二进制形式的长文本数据
tinyblob 0-255 bytes 不超过 255 个字符的二进制字符串
medlumblob 0-16 777 215 bytes 二进制形式的中等长度文本数据
londblob 0-4 294 967 295 bytes 二进制形式的极大文本数据
text 0-65 535 bytes 长文本数据
tinytext 0-255 bytes 短文本字符串
medlumtext 0-16 777 215 bytes 中等长度文本数据
londtext 0-4 294 967 295 bytes 极大文本数据

5、数据表处理命令

MySQL 创建数据表:

创建MySQL数据表需要以下信息:

  • 表名
  • 表字段名
  • 定义每个表字段

语法:
以下为创建MySQL数据表的SQL通用语法:

create table table_name(column_name column_type);

例如:

create table IF NOT EXISTS `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

实例解析:

  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
  • ENGINE 设置存储引擎,CHARSET 设置编码。

通过命令提示符创建表

通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表

实例
以下为创建数据表 runoob_tbl 实例:

root@host# mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> CREATE TABLE runoob_tbl(
   -> runoob_id INT NOT NULL AUTO_INCREMENT,
   -> runoob_title VARCHAR(100) NOT NULL,
   -> runoob_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( runoob_id )
   -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.16 sec)
mysql>

注意:MySQL命令终止符为分号 ; 。
注意: -> 是换行符标识,不要复制。

MySQL 删除数据表

MySQL中删除数据表是非常容易操作的,但是你在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。

语法
以下为删除MySQL数据表的通用语法:

drop table table_name ;

在命令提示窗口中删除数据表
在mysql>命令提示窗口中删除数据表SQL语句为 DROP TABLE :

实例
以下实例删除了数据表runoob_tbl:

root@host# mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> DROP TABLE runoob_tbl;
Query OK, 0 rows affected (0.8 sec)
mysql>

删除表内数据3种方式

删除表内数据,用 delete。格式为:

delete from 表名 where 删除条件;

实例:删除学生表内姓名为张三的记录。

delete from student where T_name = “张三”;

清除表内数据,保存表结构,用 truncate。格式为:

truncate table 表名;

实例:清除学生表内的所有数据。

truncate table student;

删除表用 drop,就是啥都没了。格式为:

drop table 表名;

实例:删除学生表。

drop table student;

  1. 当你不再需要该表时, 用 drop;
  2. 当你仍要保留该表,但要删除所有记录时, 用 truncate;
  3. 当你要删除部分记录时, 用 delete。

MySQL 插入数据

MySQL 表中使用 insert into SQL语句来插入数据。

语法
以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

如果数据是字符型,必须使用单引号或者双引号,如:“value”。

insert 插入多条数据

INSERT INTO table_name  (field1, field2,...fieldN)  VALUES  (valueA1,valueA2,...valueAN),(valueB1,valueB2,...valueBN),(valueC1,valueC2,...valueCN)......;

添加数据的时候可以规定列进行添加。
如果所有的列都要添加数据可以不规定列进行添加数据:

mysql> INSERT INTO runoob_tbl
    -> VALUES
    -> (0, "JAVA 教程", "RUNOOB.COM", '2016-05-06');

第一列如果没有设置主键自增的话添加第一列数据比较容易错乱,要不断的查询表看数据
如果添加过主键自增(PRINARY KEY AUTO_INCREMENT)第一列在增加数据的时候,可以写为0或者null,这样添加数据可以自增, 从而可以添加全部数据,而不用特意规定那几列添加数据。

MySQL 查询数据

MySQL 数据库使用SQL select语句来查询数据。

语法
以下为在MySQL数据库中查询数据通用的 SELECT 语法:

select _column,_column from _table [where Clause] [limit N][offset M]
  • select * : 返回所有记录
  • limit N : 返回 N 条记录
  • offset M : 跳过 M 条记录, 默认 M=0,单独使用似乎不起作用
  • limit N,M : 相当于 limit M offset N , 从第 N 条记录开始, 返回 M 条记录
    实现分页:
select * from _table limit (page_number-1)*lines_perpage, lines_perpage

或

select * from _table limit lines_perpage offset (page_number-1)*lines_perpage

where 与binary 子句
where:

SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';

MySQL 的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。

SELECT * from runoob_tbl WHERE BINARY runoob_author='runoob.com';
Empty set (0.01 sec)

SELECT * from runoob_tbl WHERE BINARY runoob_author='RUNOOB.COM';

实例中使用了 BINARY 关键字,是区分大小写的,所以 runoob_author=‘runoob.com’ 的查询条件是没有数据的。

  • where:数据库中常用的是where关键字,用于在初始表中筛选查询。它是一个约束声明,用于约束数据,在返回结果集之前起作用。
  • group by:对select查询出来的结果集按照某个字段或者表达式进行分组,获得一组组的集合,然后从每组中取出一个指定字段或者表达式的值。
  • having:用于对where和group by查询出来的分组经行过滤,查出满足条件的分组结果。它是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作。
  • 执行顺序 select –>where –> group by–> having–>order by

MySQL UPDATE 更新

如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作。

语法

update 表名称 set 列名称=新值 where 更新条件;
**实例:**
mysql> UPDATE runoob_tbl SET runoob_title='学习 C++' WHERE runoob_id=3;
Query OK, 1 rows affected (0.01 sec)
 
mysql> SELECT * from runoob_tbl WHERE runoob_id=3;
+-----------+--------------+---------------+---------------<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值