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命令大全一的更多相关文章

  1. 常用mysql命令大全

    常用的MySQL命令大全 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再 ...

  2. ref:mysql命令大全

    Mysql常用命令行大全 ref:https://www.cnblogs.com/bluealine/p/7832219.html 1)查看表结构:desc table_name; 2)查看创建表的s ...

  3. Mysql命令大全

    格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...

  4. Mysql 命令大全

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...

  5. MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  6. Mysql命令大全&&指定端口登录

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 -P端口   若出现access denied for user 'sy-fjj-web'@'localhost' (u ...

  7. mysql命令大全用户管理相关命令

        1.登陆 mysql>mysql -uJDev -p 2.用户管理 mysql>use mysql; 3.查看有哪些登陆用户 mysql> select host,user, ...

  8. linux下mysql命令大全

    1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...

  9. 【数据库开发】MySQL命令大全

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  10. CMD操纵Mysql命令大全

    连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登 ...

随机推荐

  1. Less(4)

    1.先判断注入类型 (1)首先看到要求,要求传一个ID参数,并且要求是数字型的:?id=1 (2)再输入?id=1' 界面无变化 (3)再输入?id=1'' 界面还是无变化, (4)再输入?id=1 ...

  2. 如何在Markdown格式下插入动图/gif

    上传GIF动图与上传普通图片是一样的,都需要以下在markdown语法中 ![]() 的小括号内填写图片的地址.问题在于如何获取本地gif的地址呢? 核心的东西就是要把这个gif动图传上网络,这样图片 ...

  3. LeetCode 5271. 访问所有点的最小时间 Minimum Time Visiting All Points

    地址 https://leetcode-cn.com/problems/minimum-time-visiting-all-points/submissions/ 题目描述平面上有 n 个点,点的位置 ...

  4. Java Web 学习(4) —— Spring MVC 概览

    Spring MVC 概览 一. Spring MVC Spring MVC 是一个包含了 Dispatcher Servlet 的 MVC 框架. Dispatcher Servlet 实现了 : ...

  5. (day67)作业

    有以下广告数据(实际数据命名可以略做调整) ad_data = { tv: [ {img: 'img/tv/001.png', title: 'tv1'}, {img: 'img/tv/002.png ...

  6. python--基础知识点梳理(三)深浅拷贝、进线协程、os和sys、垃圾回收机制、读文件的三种方式

    深拷贝与浅拷贝 import copy 浅拷贝:将一个对象的引用拷贝到另一个对象上,所以如果我们在拷贝中改动,会影响到原对象.copy.copy() 深拷贝:将一个对象拷贝到另一个对象中,新开辟了一个 ...

  7. source vimrc的时候报错:.vimrc:1: command not found: syntax

    vim的配置如下: 1 syntax enable //语法高亮 2 set number //显示行号 3 set cursorline //突出显示当前行 4 set ruler //打开状态栏标 ...

  8. 前端 用http-server启动本地服务器

    附:http-server详细介绍,包括参数等:  https://www.npmjs.com/package/http-server 开始: 准备node.js环境: 在我的博文“  Vue.js学 ...

  9. 一文告诉你,Kafka在性能优化方面做了哪些举措!

    很多粉丝私信问我Kafka在性能优化方面做了哪些举措,对于相关问题的答案其实我早就写过了,就是没有系统的整理一篇,最近思考着花点时间来整理一下,下次再有粉丝问我相关的问题我就可以潇洒的甩个链接了.这个 ...

  10. Bag of Tricks for Image Classification with Convolutional Neural Networks

    url: https://arxiv.org/abs/1812.01187 year: 2018 文中介绍了训练网络的一些 tricks, 通过组合训练过程的trick,来提高模型性能和泛化能力,以及 ...