文档章节

mysql语句

writeademo
 writeademo
发布于 2017/03/21 10:58
字数 1220
阅读 4
收藏 0

查询数据库中所有的表名

select * from information_schema.tables into outfile 'D:/1.txt'

 

 

 MySQL 修改字段类型或长度

mysql> alter table 表名 modify column 字段名 类型;
例如

数据库中address表 city字段是varchar(30)

修改类型可以用(谨慎修改类型,可能会导致原有数据出错)

MySQL> alter table address modify column city char(30);

修改长度可以用(修改长度,要保证不短与已有数据,以保证原有数据不出错)
mysql> alter table address modify column city varchar(50);

 

 

 

建表指定表格式:utf8

建表的时候指定下:
CREATE TABLE `test` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
)DEFAULT CHARSET=utf8

 

 

 

 

 

-- 数据库备份
mysqldump -h127.0.0.1 -uroot -p --all-databases >D:\data.sql
--password

-- 创建测试表

create table students (
 id int unsigned not null auto_increment primary key,
 name char(8) not null,
 sex char(4) not null,
 age tinyint unsigned not null,
 tel char(13) null default "-"
);

-- 插入数据
insert into students values (NULL,'"王刚',"男",20,"1381371377");
 insert into students ( name,sex,age) values ("孙丽华","女",21);

--修改表的结构
alter table students add address char(60);
alter table students add birthday date after age;
alter table students change tel telphone char(13) default "-"

alter table students change name name char(16) not null;

-- 表删除某一列
alter table students drop birthday;

-- 表重命名

alter table students rename stu;


--test2
create table worker (id int not null,name varchar(8) not null,pass varchar(20) not null);
insert into worker values (1 ,'HA','123456');

CREATE TABLE TEST2(NAME varchar(8) not null,dept varchar(25) default 'SOS');
insert into TEST2(name) values ('kko');

 create table items (id int not bull auto_increment primary key,label varchar(20) not null);
  insert into items(label) values ('aaba');
   insert into items values(9,'aaba');
    insert into items (label ) values ('ccc');

truncate table items;


--索引的学习
--1.普通索引
create table demo1(id int(4),name varchar(20),pwd varchar(20),index(pwd));
create table demo2(id int(4),name varchar(20),pwd varchar(20),key(pwd));
create table demo3(id int(4),name varchar(20),pwd varchar(20),key index_pwd(pwd));
create table demo4 (id int(4) auto_increment primary key,uName varchar(20),uPwd varchar(20),unique index (uName));
 describe demo3

-- 删除索引

alter table deno drop key pwd;

alter table demo4 drop key uName;
alter table demo4 add unique(uName);

--按主键查询表时最快的
create  table demo5 (id int(4) not null auto_increment primary key ,name varchar(4) not null);
--复合索引


create table firewakk (host varchar(15) not null,port smallint(4) not null , access enum('deny','allow') not null,primary key(host,port));
insert into firewakk values ('10.96.52.46',22,'deny');
insert into firewakk values('10.96.52.46',21,'allow');
insert into firewakk values ('10.96.52.46',21,'allow');


--外键
create database narket;
create table 'user' (id int (11) not null auto_increment,name varchar(50) not null default'',sex int(1) not null default '0',primary key(id) ) ENGINE=innodb;
create table 'order' (o_id int(11) auto_increment,u_id ubt(11) default '0',username varchar(50),money int(11),primary key(o_ud),index(u_id),foreign key order_f_key(u_id)
)

-- 查看是否锁表
show OPEN Tables where In_use>0;
-- 查询进程正在执行的sql任务
show processlist;
-- 查看执行的性能
show profiles for query 1

-- 查询到对应的进程--然后kill  id
-- 查看正在锁的事务

USE LEARN;
SELECT * FROM information_schema.INNODB_LOCKS;
-- 查看等待锁的事务
select * from information_schema.INNODB_LOCK_WAITS;


-- 修改存儲引擎
-- 1.直接修改,按行將数据复制到新报
alter table xxx engine- InnoDB
-- 2 mysqldump修改创建表的语句
-- 3 创建新表选择引擎,将旧表的数据导入

 

 -- 查看字符集的系统变量
 show character set like '%gbk%';

show variables like 'character\_set\_%';
 

--查看事务自动提交模式1,on,0 off
show variables like 'AUTOCOMMIT'

-- 查看mysql 版本
select version();
select @@version
-- 查看当前用户信息
select user();
-- 查看所有用户的信息
select user,host,password from mysql.user
-- 查看数据库是否启用了log_bin
show variables like '%log_bin%';

-- 慢查询日志的设置在windows下在datadir下的my.ini的文件中配置
-- 设置慢查询日志保存到文件或表
select @@global.log_output;

set @@global.log_output='TABLE';
show create table mysql.slow_log;
select sleep(10);
select * from mysql.slow_log order by start_time desc;


CREATE TABLE `slow_log` (
  `start_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
  `user_host` mediumtext NOT NULL,
  `query_time` time(6) NOT NULL,
  `lock_time` time(6) NOT NULL,
  `rows_sent` int(11) NOT NULL,
  `rows_examined` int(11) NOT NULL,
  `db` varchar(512) NOT NULL,
  `last_insert_id` int(11) NOT NULL,
  `insert_id` int(11) NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `sql_text` mediumblob NOT NULL,
  `thread_id` bigint(21) unsigned NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'

 


-- 查看当前写入的日志
 show master status ;

 -- 优化测试in 代替or

 -- 0.047s
select id,loanId,channel,planType from t_loan_phase where id>50000 and  ( loanid =426 or loanid=427 or loanid=428 or loanid=429 ) ;
-- 0s
select id,loanId,channel,planType from t_loan_phase where id>50000 and  ( loanid in(426,427,428,429) ) ;

--显示一些计数器的信息
show global status

-- 查看表上的索引
show index  from t_loan_phase

 

Mysql导出(多张表)表结构及表数据 mysqldump用法

  命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名;

    1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
    mysqldump -uroot -pdbpasswd -d dbname >db.sql;

    2、导出數據库為dbname某张表(test)结构
    mysqldump -uroot -pdbpasswd -d dbname test>db.sql;

    3、导出數據库為dbname所有表结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd  dbname >db.sql;

    4、导出數據库為dbname某张表(test)结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd dbname test>db.sql;

  5.导出数据中dbname多张表(test1,test2,test3)结构及表数据用用空格隔开

    mysqldump -uroot -pdbpasswd dbname test1 test2 test3>db.sql;

 

© 著作权归作者所有

writeademo
粉丝 26
博文 670
码字总数 250499
作品 0
东城
私信 提问

暂无文章

用原生js对表格排序

本文转载于:专业的前端网站➸用原生js对表格排序 阿里的模拟笔试题,当时时间有限没写出来,其实是因为自己对原生dom操作不熟悉,这里补一下。 题目的大意是有一个表格,如代码所示 <table>...

前端老手
23分钟前
3
0
IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素

HTML5有一些新的表单元素:<datalist>、<keygen>、<output>。不是所有的浏览器都支持HTML5新的表单元素,但即使浏览器不支持该表单属性,仍然可以显示为常规的表单元素。 1 <datalist>元素 ...

老码农的一亩三分地
25分钟前
3
0
【朝花夕拾】Android自定义View篇之(一)View绘制流程

https://www.cnblogs.com/andy-songwei/p/10955062.html

shzwork
27分钟前
4
0
Qt编写自定义控件70-扁平化flatui

一、前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产...

飞扬青云
36分钟前
2
0
教你玩转Linux—添加批量用户

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户...

Linux就该这么学
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部