mysql big tables_mysql常见命令操作
MySql常用命令总结
1:使用SHOW语句找出在服务器上当前存在什么数据库:(大小写一样)
mysql> SHOW DATABASES; (展示数据库时候用databases)
2:2、创建一个数据库MYSQLDATA (展示一个数据时候用database)
创建带字符编码的数据库create database mydb character set utf8;(注意mysql中是utf8;不是utf-8)
mysql> CREATE DATABASE MYSQLDATA; (删除用drop database dbname)
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!,当然没有;也提示成功)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE(DESC) MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex=”man” where name=’jack’;
--------------------------------------------
----------------字段操作----------------------
添加字段:alter table tablename add column age int;
删除一个字段:alter table tablename DROP COLUMN new2;
插入一个字段默认为:alter table tablename add column age int default 0;
修改一个字段的类型 alter table tablename MODIFY new1 VARCHAR(10);
修改一个字段的名称,此时一定要重新指定该字段的类型 alter table user CHANGE new1 new4 int;
添加主键: alter table tablename add primary key(col)
删除主键: alter table tablename drop primary key(col)
----------------自增长---------------
CREATE TABLE class
(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(15) NOT NULL
)AUTO_INCREMENT = 100;从100开始
可在建表时可用“AUTO_INCREMENT=n”选项来指定一个自增的初始值。
可用alter table table_name AUTO_INCREMENT=n命令来重设自增的起始值。
插入数据insert into text values(null,'jack');要用null
没用AUTO_INCREMENT = 100;表示默认从1开始
----------------函数-------------------------
select now(),current_date()
select * from tablename where field1 like ’%value%’ --查找特定格式的数据,注意中间是
求和:select sum(field1) as sumvalue from tablename
平均:select avg(field1) as avgvalue from tablename
最大:select max(field1) as maxvalue from tablename
最小:select min(field1) as minvalue from tablename
排序:select * from tablename order by field1,field2 [desc]
选择前十条记录:select * from tablename limit 10; (注意不要用top)
分页:select * from tablename limit 2,4 ( 即取出第3条至第6条,4条记录)
select ASCII('A'); //对应65
返回二进制值N的一个字符串表示select bin(8);//8的二进制位1000
------------------------------------
导入.sql文件命令(例如D:/daoru.sql)所以可以直接在文本中写,在导入cmd中执行。。
create table daoru
(
name varchar(20),
password varchar(20)
);
insert into daoru values('JACK','123');
执行mysql>source d:/mysql.sql;
----------------------------
//补充
查询
过滤表中的重复数据
select distinct username from tablename(过滤掉重名的)
查询数学成绩分数为100.90,44分的人
select * from student where math in(100,90,44)
//商品分类
select username,sum(math) from tablename group by username(根据一样的username归为一组)
where后面不能跟合计函数,要用having
select username,sum(math) from tablename group by username having sum(math)>200
创建带字符编码的数据库create database mydb character
set utf8;(注意mysql中是utf8;不是utf-8)
查看数据库的信息show create database mydb(可以看数据库编码等信息)
如果数据库语句创建成功了,怎么添加编码为utf8
alter database mydb character set utf8;
重命名表名
alter table aa change column name username varchar(20)(name改为username)
备份数据库表中的数据
mysqldump -u用户名 -p密码 数据库名 >文件名.sql(备份带那里window命令)
恢复数据库
source 文件名.sql
//演示
备份
mysqldump -uroot -p123 mydb >D://mydb.sql (保存带了D:mysql.sql中)(数据库到文件)
恢复(先删掉数据库,在恢复)
要恢复库,要先创建库,因为只能恢复数据,不能恢复库
mysql -uroot -p123 mydb
//数据库约束,主键,自增长,非空,不重复,外键
create table a
(
name varchar(20) not null, //非空
password int unique //不能重复
);
//外键约束
比如(老公,老婆关系管理系统)
老公表
id name
1 jack
2 xilin
老婆表
id name husbandId(这列叫外键,该值来自于外面的数据,一定要加外键约束)
1 lucy 2 (外键数据来自老公表)
2 mily 1
create table husband
(
id int primary key auto_increment,
name varchar(20)unique
);
create table wife
(
id int primary key auto_increment,
name varchar(20)unique,
husbandId int,
constraint husbandId_FK foreign key(husbandId) references husband(id)
);
//constraint (约束名)foreign key(约束那个)references(参考那个表的那个值)
//数据库中表的设计
-----------一对多,多对一----------------------
部门关系管理系统(一个部门对于多个员工,多个员工对于一个部门)
//部门 员工
Department Employee
String id; String id,
String name, String name,double price;
Set employee=new HashSet(); Department department;
一对多的设计,那么部门数据如何往数据库里面存呢?
Department d=new Department();
d.setId(1);
d.setname("开发部");
Employee e=new Employee();
e.setId(1);
e.setName("xiaoming"); //部门对象
e.setPrice(100);
Employee e1=new Employee();
e1.setId(2); //员工数据
e1.setName("xiaoge");
e1.setPrice(200);
d.add(e1);
d.add(e2); //把员工数据增加到部门
----------------------思路----------------------
设计表的时候先不要考虑引用关系,设计基本表,在一对多的多的方那加入外键约束就行
department表
id name
1 开发部
Employee表
id name price department_id
1 xiaoming 100 1
2 xiaoge 200 1
------------多对多对象-------------------------
教学管理系统
Teacher对象
String id,
String name;
String price,
Set student=new HashSet();//老师保存学生信息
Student对象
String id,
String name;
Set teacher=new HashSet();//学生保存老师信息
//先不要考虑引用关系,先设计基本信息表
Teacher表
id name price
1 jack 3244
Student表
id name
1 lucy
2 mark
---------设计中介表-Teacher_Student---------
Teacher_Student 表
teacher_id(外键,来自老师id) student_id(外键,来自学生id)
1 1
1 2
-----------------------------------------------
create table teacher
(
id int primary key,
name varchar(20),
price int
);
create table student
(
id int primary key,
name varchar(20)
);
create table teacher_student
(
teacher_id int,
student_id int,
primary key(teacher_id,student_id),
constraint teacher_id_FK foreign key(teacher_id) references teacher(id),
constraint student_id_FK foreign key(student_id) references student(id)
);
create table teacher_student
(
teacher_id int,
student_id int,
primary key(teacher_id,student_id) //联合主键
constraint teacher_id_FK foreign key(teacher_id) references teacher(id)//外键约束
constraint student_id_FK foreign key(student_id) references student(id)//外键约束
)
----------一对一关系,必须有主从关系(人可以无身份证,身份证不能没人)-----------
身份证管理系统
person类
String id;
String name
IdCard idcard;
IdCard类
String id;
String city;
person p;
person p=new person();
p.setId(1);
p.setName("lin");
IdCard c=new IdCard();
c.setId(1);
c.setCity("nanjing");
p.setCard(c);
----------------------------
person表
id name
1 jack
2 lucy
IdCard表
id city person_id(外键约束,unique,not null约束),但是person表已经是unique,not null,这变设计外键就行了
1001 nanjing 1
1021 beijing 2
create table person
(
id int primary key,
name varchar(20)
);
create table idcard
(
id int primary key,
city varchar(10),
constraint id_FK foreign key(id)references person(id)
);
-----------------------------
自连接的表,可以实现无限循环表(京东分类表:如电器类->电脑->平板。。)
person p
id name parent_id
1 林大大
2 林中中 1
3 林小小 2 (家族遗传)
create table myperson
(
id int primary key,
name varchar(20),
parent_id int,
constraint parent_id_FK foreign key(parent_id)references myperson(id)
)
---------级联删除-------------------
create database department_employee character set utf8;
use department_employee;
create table department
(
id int primary key,
name varchar(20)
);
create table employee
(
id int primary key,
name varchar(20),
salary double,
employee_id int,
constraint empoyee_id_FK foreign key(employee_id)references department(id)on delete set null
//如果是on delete set null的话,删除department主表的时候,从表employee_id置为空
//如果是on delete cascade,删除主表的时候,从表也删除(要小心)
);
mysql big tables_mysql常见命令操作相关推荐
- Redis常见命令操作
一.Win版本redis登录操作步骤 1.打开DOS界面进入Redis安装路径 例如:cd C:\Users\sunway\Documents\Tencent Files\1571711197\Fil ...
- Linux 常见命令操作(杀死全部screen)
常见命令 1. 防火墙操作 作用 命令 查看防火墙 systemctl status firewalld 关闭防火墙 systemctl stop firewalld.service 开放防火墙端口永 ...
- mysql数据库的常见命令行操作
看看有哪些默认数据库:show databases; 进入一个数据库,看看有哪些表:use mysql; → show tables; 从当前数据库查看其它数据库的表:show tables from ...
- MySQL知识梳理与命令操作
MySQL学习记录 1 数据库的概述 1.1 前言以及准备工作 1.2 SQL,DB,DBMS 1.3 什么是表? 2 SQL语句分类 2.1 语句分类 3 数据表的简单操作 3.1 数据表操作 4 ...
- Redis基本数据的的常见命令操作
Redis基本命令操作 1.redis的5种常用数据类型: 2. string字符串 3.list列表 4.hash哈希 5.set集合 6. sorted set (Zset)有序集合 1.redi ...
- 4、常见命令操作(详细)
先介绍几个属性 -f force强制 -i interactive 提示 -p 创建目录 -r 删除目录 介绍几个符号 ~ 用户的家目录- 上次用户目录 0 标准输入1 标准输出2> 标准错误输 ...
- mysql show tables_mysql show命令用法
1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称. 2. show databases; -- 显示mysql中所有数据 ...
- Linux入门——常见命令
目录 常见的PC操作系统: 建立云服务器与本地服务器之间的联系: Linux常见的操作 Linux上的文件系统: 1,和windows基本类似 2,区别: 常见命令操作 命令行的参数: Linux命令 ...
- mysql 常规命令操作_常见的MySQL命令大全
一.连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1.例1:连接到本机上的MYSQL.首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot ...
最新文章
- SAP PM入门系列29 - IW65 Display Activities
- h5MYSQL并进行增删查改_mysql增删改查
- Delphi笔记整理(二)
- KMP算法--字符串模式匹配算法
- 2014届华为校园招聘机试题2
- Ubuntu网络连接未托管的解决办法
- chrome 中的console 下无法使用jquery选择器
- [翻译] SSKeychain
- pygame画圆练习赤橙黄绿青蓝紫
- HTML+CSS系列实战之表格
- 躲在被窝里偷偷学爬虫(6)---处理cookie模拟登录及代理IP
- 一个曾讨厌英语的人是如何爱上英语学好英语的
- 网络协议实验四 ARP 协议分析实验
- return的返回用法
- JAVA几种缓存技术介绍说明
- java制作管理系统视频_java语言制作管理系统视频教程
- 存储在icloud云盘文件夹顶层_iCloud云盘文件夹共享功能使用方法
- 后缀php怎么播放器,一个万能PHP播放器代码
- 浏览器检测麦克风音量
- SHA256加密之显示明文密码的处理方法
热门文章
- 小白终是踏上了这条不归路----小文的mysql学习笔记(6)----连接查询-----等值连接、非等值连接、自链接、外连接、交叉连接
- 端口被占用,简单快捷的解决方法
- 猿团君分析-程序员如何成功的提高影响力2.0
- 腾讯微博的部分知名站长名单
- 三菱系统四轴正反转参数_三菱M70四轴调试
- 算法基础之二叉树理论
- 搭建SpringBoot+Vue 项目 完整流程
- can‘t convert np.ndarray of type numpy.object_. The only supported types are: float64, float32, floa
- Function 函数式接口及应用
- 迈向大神 day17 包的引用与异常