目录
系统命令行
MySQL命令行
数据库命令
数据表命令
建表并导入数据
表的其他操作
正文
系统命令行
以下是在系统命令行,已管理员身份运行的情况下,MySQL的一些命令
1.这两条是关闭MySQL服务与开启MySQL服务的命令
1. net stop MySQL 2. net start MySQL80
连接MySQL服务:
mysql -u root -p
MySQL命令行
数据库命令
创建数据库前的操作,如果存在csdb则删除 :
drop database if exists csdb;
create DATABASE RUNOOB; 创建数据库
drop database <数据库名>; 删除数据库
SHOW DATABASES; 展示所有数据库
use RUNOOB; 选择数据库
create DATABASE RUNOOB; drop database <数据库名>; SHOW DATABASES; use RUNOOB;
数据表命令
建表并导入数据
CREATE TABLE table_name (column_name column_type); 创建数据表的基本语法
CREATE TABLE table_name (column_name column_type);
以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key, //将 ID 设为长度为 3 的数字字段 int(3) 并让它每个记录自动加一,auto_increment 并不能为空 not null ,而且让他成为主字段 primary key
name char(10) not null, //将 NAME 设为长度为 10 的字符字段
address varchar(50) default '深圳', //将 ADDRESS 设为长度 50 的字符字段,而且缺省值(默认值)为深圳
year date //将 YEAR 设为日期字段。
); //建表结束
将文本数据转到数据库中:
以上面建立的表为例:
1、文本数据应符合的格式:字段数据之间用 tab 键隔开,null 值用 \n 来代替.
例:
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
2、数据传入命令
load data local infile "文件名" into table 表名;
注意:你最好将文件复制到 \mysql\bin 目录下,并且要先用 use 命令打表所在的库。
备份数据库: (命令在DOS的 \mysql\bin 目录下执行)
mysqldump --opt school>school.bbb
注释:将数据库 school 备份到 school.bbb 文件,school.bbb 是一个文本文件,文件名任取,打开看看你会有新发现。
表的其他操作
以下为删除MySQL数据表的通用语法:
(如果B表里面有A表的属性,那个必须先删除B表,才能删除A表)
DROP TABLE table_name ;
以下为在MySQL数据库中查询数据通用的 SELECT 语法:
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M]
增加属性或主键:
Alter table 表名 add 字段名 类型 //增加属性
Alter table test_supplements primary(id); //增加主键
删除属性或主键 :
Alter table 表名 drop字段名 //删除属性
Alter table test_supplements drop primary key; //删除主键
读取数据表:
select * from runoob_tbl;
查看所有数据表:
SHOW TABLES命令可显示表是基表还是视图。 要在结果中包含表类型,请使用SHOW TABLES语句
SHOW TABLES; SHOW FULL TABLES;
查找数据库表:
例如查找以“s“开头的数据表:
SHOW TABLES LIKE 's%';
mysql> SHOW TABLES LIKE 's%'; +---------------------+ | Tables_in_csdb (s%) | +---------------------+ | school | | student | +---------------------+ 2 rows in set (0.00 sec)
查找以’tion‘字符串结尾的表
HOW TABLES LIKE '%tion';
查找特定的Table_type的数据表:
HOW TABLES LIKE '%tion';
mysql> SHOW FULL TABLES WHERE table_type = 'BASE TABLE'; +----------------+------------+ | Tables_in_csdb | Table_type | +----------------+------------+ | school | BASE TABLE | | student | BASE TABLE | +----------------+------------+
查询表中的信息:
select * from <表名>;
查看表的属性:
describe <表名>;
查询表中某一属性的值:
select DISTINCT <属性名> from <表名>; //DISTINCT 去重复值,看需求是否添加
查询表中某一属性是上面值的对应属性:
select * from student where sdept='物联网工程系'; select sname from student where sdept='物联网工程系';
增加表中的信息:
insert into <表名> (键1,键2) values ("具体值1","具体值2");
修改表中的信息:
例如:update school set schoolName=‘数学学院’ where schoolID='XY002';
意思是:将schoolID为XY002的schoolName的值改为”数学学院“
update <表名> set 键="值",键=值,键=值 where 主键="对应要修改的主键名";
删除表中的信息;
删除schoolID为XY002的相关消息
delete form bbs where schoolID=XY002;
计算年龄:
select year(now())-year(sbirthday) as sage from student; select sno,sname,year(now())-year(sbirthday) as sage from student;
索引的相关操作
查看索引:
show index from school\G
创建索引:
CREATE UNIQUE INDEX indexName ON mytable(username(length))
添加索引:
ALTER table tableName ADD INDEX indexName(columnName) //tableName<表名>, indexName<索引名>,columnName<属性名>
删除索引:
DROP INDEX [indexName] ON mytable;