mysql命令大全一
mysql -u root -p;
create database qa;
show databases;
use qa;
create table results(
id int not null auto_increment,
primary key (id));
)
alter table results add column test_suite varchar(255);
alter table results add column test_name varchar(255);
alter table results add column test_status varchar(255);
mysql> create user 'tom'@'%' identified by '111111';
Query OK, 0 rows affected (0.02 sec)
mysql> grant all privileges on *.* to 'tom'@'%';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
grant select,insert,update,deleteon *.* to test2@localhost identified by "abc";
mysql -h127.0.0.1 -P3306 -uroot -p
查看数据库字符集
show variables like 'character_set_database';
设置数据库字符集
create database test2 character set utf8;
create table my_test(
id int,
name varchar(20)
);
show databases;--查看所有数据库
退出命令exit, quit, \q
> create database mydatabase charset utf8;
-- 查看数据库 有空格
show databases like 'my%';
%: 表示匹配多个
_: 表示匹配单个
show databases like ‘mydatabase\_%’
alter database mydatabase charset GBK;
drop database mydatabase;
创建学生表
create database mydb;
create table if not exists mydb.student(
Number varchar(10),
Name varchar(10),
Gender varchar(10),
Age int
)
charset UTF8;
create table class(
name varchar(10),
home varchar(10)
)
CHARSET=utf8;
show tables like 'class%';
describe class;
desc class;
show columns from student;
rename table student to my_student;
alter table my_student charset GBK;
alter table my_student add column ID int first;
alter table my_student modify Number char(10) after Name;
alter table my_student drop Age;
重命名: rename
修改表:alter
新增字段: add
重命名字段:modify
删除字段:drop
删除数据表操作
drop table class;
insert into my_student values('java01001','Anthony','male',23),('java01002','Lily','female',22);
insert into my_student(ID,Name,Gender,Age) value('java01003','Tom','male',23),('java01004','Lucy','female',22);
insert into my_student(Name,Gender,ID) value('张三','男','jave01005');
create table results(
id int not null auto_increment,
primary key(id),
test_suit varchar(255),
test_name varchar(255),
test_status varchar(10)
)
charset utf8;
update my_student set age=18 where name='Lucy';
delete from my_student where dender = 'male'
show character set;
show variables like 'character_set%';
use mydb;
create table my_int(
int_1 tinyint,
int_2 smallint,
int_3 int,
int_4 bigint
)charset utf8;
insert into my_int values(100,100,100,100);--ok
insert into my_int values('a','b','199',100);--no
insert into my_int values(255,10000,100000,100000000);
alter table my_int add int_5 tinyint unsigned;
insert into my_int values(10,10000,100000,100000000,255);
create table my_float(
f1 float,
f2 float(10,2),
f3 float(6,2)
)charset utf8;
show tables;
insert into my_float values(1000.12,1000.10,1000.10);
insert into my_float values(3e38,3.23e7,1234.56);
ERROR 1136 (21S01): Column count doesn't match value count at row 1
insert into my_float values(9999999999,99999999.99,9999.99);
--定点型
create table my_decimal(
f1 float(10.2),
d1 decimal(10,2)
)charset utf8;
insert into my_decimal values(12345678.90,12345678.90);
insert into my_decimal values(1234.123456,1234.123456);
insert into my_decimal values(9999999.99,99999999.99);
create table my_date(
d1 datetime,
d2 date,
d3 time,
d4 timestamp,
d5 year
)charset utf8;
insert into my_date values('2017-12-24 21:30:23','2017-12-24','21:30:23','2017-12-24','2017');
insert into my_date values('2017-12-24 21:30:23','2017-12-24','-21:30:23','2017-12-24','2017');
create table my_enum(
gender enum('男','女','保密')
)charset utf8;
insert into my_enum values('保密');
insert into my_enum values('男');
insert into my_enum value (1),(2);
create table my_set(
ball set ('足球','篮球','羽毛球','排球','乒乓球')
)charset utf8;
insert into my_set values('足球,羽毛球');
insert into my_set values(3);
select ball+0 from my_set;
create table my_class(
name varchar(20) not null,
class varchar(20)
)charset utf8;
insert into my_class values(null,'302');-- 报错
insert into my_class values('java01','301');
content
-- 创建教师表
create table my_teacher(
name varchar(20) not null comment '名称',
money decimal(10,2) not null comment '工资'
)charset utf8;
show create table my_teacher;
create table my_default(
name varchar(20) not null,
age tinyint unsigned default 0,
gender enum('男','女','保密') default '男'
)charset utf8;
insert into my_default (name) values('张三');
insert into my_default values ('李四',default,default);
-- 主键
create table my_prim1(
name varchar(20) not null comment '姓名',
number char(10) primary key not null comment '学号'
)charset utf8;
create table my_prim2(
number char(8) not null comment '学号',
course char(10) comment '课程代码',
score tinyint unsigned default 60 comment '成绩',
primary key (number,course)
)charset utf8;
create table my_prim3(
course char(10) not null comment '课程编号',
name varchar(10) not null comment '课程名称'
)charset utf8;
alter table my_prim3 add primary key (course);
insert into my_prim3 values('java01','Java');
insert into my_prim3 values('java01','Javaweb');-- 重复
alter table my_prim3 drop primary key;
create table my_auto(
id int auto_increment comment '自动增长',
name varchar(10) not null
)charset utf8;-- 报错
create table my_auto(
id varchar(10) primary key auto_increment comment '自动增长',
name varchar(10) not null
)charset utf8; -- int
create table my_auto(
id int primary key auto_increment comment '自动增长',
name varchar(10) not null auto_increment
)charset utf8;--唯一
create table my_auto(
id int primary key auto_increment comment '自动增长',
name varchar(10) not null
)charset utf8;
insert into my_auto(name) values('Tom');
insert into my_auto values(null,'Anthony');
insert into my_auto values (default ,'jim');
show create table my_auto;
alter table my_auto auto_increment=10;
insert into my_auto values(default,'Lucy');
alter table my_auto modify id int;
create table my_unique1(
number char(10) unique comment '学号,唯一,允许为空',
name varchar(20) not null
)charset utf8;
set names gbk;
insert into my_unique1 values(null,'Antony'),(18001,'张三'),(null,'Tom');
insert into my_unique1 values('18001','Bobo');
show create table my_unique1;
alter table my_unique1 drop index number;
CREATE TABLE `my_class1` (
`name` varchar(20) NOT NULL,
`class` varchar(20) DEFAULT NULL,
PRIMARY KEY (`name`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into my_class1 values('Java01','A101'),('Java02','A102');
insert into my_class1 values('Java02','B102');-- 冲突
insert into my_class1 values('Java02','B102') on duplicate key update class='B102';
replace into my_class1 values('Java01','A105');
create table my_unique2(
number char(10) not null comment '学号',
name varchar(20) not null,
unique key(number)
)charset utf8;
show create table my_unique2;
create table my_unique3(
id int primary key auto_increment,
number char(10) not null,
name varchar(20) not null
)charset utf8;
alter table my_unique3 add unique key(number);
create table my_name(
name varchar(20)
)charset utf8;
insert into my_name values ('A'),('B'),('C'),('D'),('E');
update my_name set name = 'Tom' limit 3;
update my_name set name = 'Jim' where name = 'Tom' limit 3;
insert into my_name values ('Tom'),('Anthony'),('Tom'),('Tom'),('Bobo');
delete from my_name where name = 'Tom' limit 5;
create table student(
id int(10) not null auto_increment primary key,
number char(10),
name varchar(20),
gender varchar(10)
)charset utf8;
insert into student values
(default ,'1801','Tom','male'),
(default,'1802','Anthony','male'),
(default,'1803','Lucy','female'),
(default,'1804','Lily','female');
show create table student;
delete from student;
show create table student;
truncate student;
-- 查询
select * from my_student;
insert into my_student values('java01002','Lily','female','21');-- 插入重复数据
select distinct * from my_student;
select id, name as 姓名,gender as 性别,age as 年龄 from my_student;
select id, name 姓名,gender 性别,age 年龄 from my_student;
1、登录数据库存
格式: mysql -h主机地址 -u用户名 -p用户密码–P端口 –D数据库–e “SQL 内容”
>mysql -uroot -p 数据库名称
mysql -uroot -p mydb
2 、修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
Mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
例2:再将root的密码改为djg345。
mysqladmin-uroot -pab12 password djg345
shell>mysql -u root -p
mysql> update user setpassword=password(”xueok654123″) where user=’root’;
Mysqladmin -uroot -p 123456 password 111111
Mysqladmin -uroot -p123456 password "111111";
在mysqld下面添加skip-grant-tables
use mysql;
update user set password=password("111111") where user='root';
flush privileges;
3.数据库备份
-- 备份数据库
D:\mysql\mysql-5.6.24-win32\bin>mysqldump -u root -p mydb > mydb_bakup_20171221.sql
--创建数据库
D:\mysql\mysql-5.6.24-win32\bin>mysqladmin -h localhost -u root -p create mydbbakup
--恢复数据库
mysql> use mydbbakup;
Database changed
方法一:mysql> source mydb_bakup_20171221.sql;
create database mall;
mysql> use mall;
Database changed
mysql> grant all privileges on *.* to 'root'@'%';
方法二:D:\mysql\mysql-5.6.24-win32\bin>mysql -u root -p mall < mydb_bakup_20171221.sql
导入sql
use test
mysql> source D:/mysql/mysql-5.6.24-win32/bin/mydb_bakup_20171221.sql;
10、删除授权:
mysql> revoke all privilegeson *.* from root@”%”;
mysql> delete from user whereuser=”root” and host=”%”;
mysql> flush privileges;
11、显示当前mysql版本和当前日期
select version(),current_date;
查询时间:select now();
查询当前用户:select user();
查询数据库版本:select version();
查询当前使用的数据库:select database();
18、删除表
mysql>drop TABLE MYTABLE;
19、 清空表
mysql>delete from MYTABLE;
20、添加表字段
alter tabletable1 add transactor varchar(10) not Null;
alter tabletable1 add id int unsigned not Null auto_increment primary key
21、修改某个表的字段类型及指定为空或非空
>alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];
>alter table 表名称 modify 字段名称 字段类型 [是否允许非空];
>alter table 表名称 modify 字段名称 字段类型 [是否允许非空];
22、如果要删除某一字段,可用命令:
ALTER TABLEmytable DROP 字段名;
23、添加唯一键
ALTER TABLE`test2` ADD UNIQUE ( `userid`)
24、修改主键
ALTER TABLE`test2` DROP PRIMARY KEY ,ADD PRIMARY KEY ( `id` )
alter tableversion_template drop primary key ,add primary key version,role,type);
25、增加索引
ALTER TABLE`test2` ADD INDEX ( `id` )
alter tabletable1 add index ind_id (id);
create indexind_id on table1 (id);
create uniqueindex ind_id on table1 (id);//建立唯一性索引
26、删除索引
drop indexidx_id on table1;
alter tabletable1 drop index ind_id;
27、重命名表:
alter table t1 rename t2;
28、增加一个字段:
alter tabletabelName add column fieldName dateType;
29、增加多个字段
alter tabletabelName add column fieldName1 dateType,add columns fieldName2 dateType;
多行命令输入:注意不能将单词断开;当插入或更改数据时,不能将字段的字符串展开到多行里,否则硬回车将被储存到数据中;
增加一个管理员帐户:grant all on *.* to user@localhost identified by"password";
每条语句输入完毕后要在末尾填加分号';',或者填加'\g'也可以;
30、创建临时表:
create temporarytable zengchao(name varchar(10));
31、创建表是先判断表是否存在
create table ifnot exists students(……);
create table s_position(
id int not null auto_increment,
name varchar(20) not null default '经理',
description varchar(100),
primary key PK_position(id)
)charset='utf8';
ERROR 1067 (42000): Invalid default value for 'name'
后来在网上找到了解决方法:
SET NAMES GBK;
并且CREATE TABLE的末尾加上charset='utf8';像下面这样
CREATE TABLE user(
id int unsigned auto_increment key,
username varchar(20) not null unique,
password char(32) not null,
sex enum('保密','女','男') not null default '保密',
face varchar(50) not null,
regTime int unsigned not null
) charset='utf8';
create table demparment(
id int not null auto_increment,
name varchar(20) not null default '系统部',
description varchar(100),
primary key PK_deparment(id)
)charset='utf8';
create table depart_pos(
department_id int not null,
position_id int not null,
primary key PK_pepart_pos(department_id,position_id)
);
create table staffer(
id int not null auto_increment primary key,
name varchar(20) not null default '无名氏',
department_id int not null,
position_id int not null,
unique(department_id,position_id)
)charset='utf8';
32、从已经有的表中复制表的结构
create tabletable2 select * from table1 where 1<>1;
create table my_student_con select * from my_student where 1<>1;
33、复制表
create tabletable2 select * from table1;
create table my_student_bak select * from my_student;
34、对表重新命名
alter table table1 rename astable2;
35、修改列的类型
alter table table1 modify id intunsigned;//修改列id的类型为int unsigned
alter table table1 change id sidint unsigned;//修改列id的名字为sid,而且把属性修改为int unsigned
36、联合字符或者多个列(将列id与":"和列name和"="连接)
select concat(id,':',name,'=')from students;
37、limit(选出10到20条)<第一个记录集的编号是0>
select * from students order byid limit 9,10;
select * from my_student order by ID limit 2,4;
38、MySQL会使用索引的操作符号
<,<=,>=,>,=,between,in,不带%或者_开头的like
39 、存储过程
1)查看存储过程
select name from mysql.proc where db=’数据库名’;
或者
select routine_name frominformation_schema.routines where routine_schema='数据库名';
或者
show procedure status where db='数据库名';
40、MySQL存储过程的修改
ALTER PROCEDURE
更改用CREATEPROCEDURE 建立的预先指定的存储过程,其不会影响相关存储过程或存储功能。
41、MySQL存储过程的删除
删除一个存储过程比较简单,和删除表一样:
DROP PROCEDURE
从MySQL的表格中删除一个或多个存储过程。
mysql> use test;
Database changed
mysql> show procedure status where Db='test';
Empty set (0.04 sec)
mysql> create procedure hi() select 'hello';
Query OK, 0 rows affected (0.03 sec)
mysql> call hi();
+-------+
| hello |
+-------+
| hello |
+-------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看:
mysqldump
最常用的:
mysqldump -uroot -pmysql databasefoo table1 table2 > foo.sql
这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql中,其中-uroot参数表示访问数据库的用户名是root,如果有密码还需要加上-p参数
C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_drv > e:\date_drv.sql
mysql的数据导入也是相当便捷的,如:
mysql -uroot databasefoo < foo.sql
这样就可以将foo.sql的数据全部导入数据库databasefoo
1.导出整个数据库
mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
C:\Users\jack> mysqldump -uroot -pmysql sva_rec > e:\sva_rec.sql
2.导出一个表,包括表结构和数据
mysqldump -u用户名 -p 密码 数据库名 表名> 导出的文件名
C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql
3.导出一个数据库结构
C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql
4.导出一个表,只有表结构
mysqldump -u用户名 -p 密码 -d数据库名 表名> 导出的文件名
C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql
5.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:wcnc_db.sql
导出整个数据库
C:\Users\ceshi>mysqldump -uroot -p mydb > d:\111\q.sql
导出一个表,包括表结构和数据
C:\Users\ceshi>mysqldump -uroot -p123456 mydb my_student > d:\111\s.sql
导出一个数据库结构
C:\Users\ceshi>mysqldump -uroot -p123456 -d mydb > d:\111\dbcon.sql
导出一个表,只有表结构
C:\Users\ceshi>mysqldump -uroot -p123456 -d mydb my_student > d:\111\table.sql
导入数据
mysql> source d:\111\table.sql
mysql命令大全一的更多相关文章
- 常用mysql命令大全
常用的MySQL命令大全 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再 ...
- ref:mysql命令大全
Mysql常用命令行大全 ref:https://www.cnblogs.com/bluealine/p/7832219.html 1)查看表结构:desc table_name; 2)查看创建表的s ...
- Mysql命令大全
格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...
- Mysql 命令大全
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...
- MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- Mysql命令大全&&指定端口登录
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 -P端口 若出现access denied for user 'sy-fjj-web'@'localhost' (u ...
- mysql命令大全用户管理相关命令
1.登陆 mysql>mysql -uJDev -p 2.用户管理 mysql>use mysql; 3.查看有哪些登陆用户 mysql> select host,user, ...
- linux下mysql命令大全
1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...
- 【数据库开发】MySQL命令大全
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- CMD操纵Mysql命令大全
连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登 ...
随机推荐
- Java使用FeignClient发送HTTP 请求
使用FeignClient发送HTTP请求1.添加依赖<!-- spring cloud jar--><dependency> <groupId>org.sprin ...
- Python封装发送信息到钉钉群
发送信息到钉钉群 from dingtalkchatbot.chatbot import DingtalkChatbot class SendText: def __init__(self, webh ...
- 学习postman教程
postman可以做什么 1.可以做单接口的测试 2.可以调试接口 3.对接口设置变量后,可以做多接口的测试,并输出报告 如何用postman调试接口 1.填写api地址 2.选择请求方式 3.输入a ...
- MATLAB实例:为匹配真实标签,对训练得到的标签进行调整
MATLAB实例:为匹配真实标签,对训练得到的标签进行调整 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. MATLAB程序 munkres.m ...
- java8-13-默认方法 静态方法 重复注解 类型注解
java8增加默认方法 静态方法 重复注解 类型注解 1.默认方法 default修饰 为什么要有这个特性? 当修改接口时候,需要修改全部实现该接口的类.为了解决这个问题,所以引进默认方法 ...
- CF732D Exams
这题可以用二分答案来做 那么为什么可以用二分答案呢? 答案当然是满足了单调性. 假设用\(x\)天能够考完所有试,那么用大于$x $天必定也能够考完所有试,所以满足了单调性,我们就可以二分答案 那么如 ...
- iOpenWorskSDK下载和答疑贴
1 iOpenWorksSDK对VS2013-VS2017的支持插件 https://files.cnblogs.com/files/baihmpgy/iOpenWorksSDK.vsix.zip 2 ...
- MS SQL OPENJSON JSON
前段时间,有写过一个小练习<MS SQL读取JSON数据>https://www.cnblogs.com/insus/p/10911739.html 晚上为一个网友的问题,尝试获取较深层节 ...
- 立足于运维与监控的前端框架 NoahV
NoahV是一个致力于解决中后台前端效率问题的前端框架,立足于运维和监控的应用场景,使用当前前端最新的技术栈并结合团队在项目开发中的最佳实践从而推出的前端开发框架. NoahV提供的功能覆盖了从开发到 ...
- 08-蓝图&单元测试
学习目标 能够使用代码实现蓝图对项目进行模块化 能够说出断言的作用 能够说出实现单元测试步骤 能够说出单元测试所执行方法的定义规则 Blueprint(蓝图) 随着flask程序越来越复杂,我们需要对 ...