1.mysql 怎么查看自己的用户名
select user();
2.mysql 如何更改root密码
mysqladmin -u USER -p password PASSWORD
该命令之后会提示输入原密码,输入正确后即可修改。
3.mysql清除数据库命令
drop database DB;
4.mysql清除表命令
DROP TABLE tbl_name;
5.创建表
CREATE TABLE person (
number INT(11),
name VARCHAR(255),
birthday DATE
);
或者是
CREATE TABLE IF NOT EXISTS person (
number INT(11),
name VARCHAR(255),
birthday DATE
);
6.查看mysql创建表
SHOW CREATE table person;
CREATE TABLE `person` (
`number` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`birthday` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
7.创建临时表
CREATE TEMPORARY TABLE temp_person (
number INT(11),
name VARCHAR(255),
birthday DATE
);
在创建表格时,您可以使用TEMPORARY关键词。只有在当前连接情况下,TEMPORARY表才是可见的。当连接关闭时,TEMPORARY表被自动取消。这意味着两个不同的连接可以使用相同的临时表名称,同时两个临时表不会互相冲突,也不与原有的同名的非临时表冲突。(原有的表被隐藏,直到临时表被取消时为止。)您必须拥有CREATE TEMPORARY TABLES权限,才能创建临时表。
8.创建一个有主键,唯一索引,普通索引的表
CREATE TABLE `people` (
`peopleid` smallint(6) NOT NULL AUTO_INCREMENT,
`firstname` char(50) NOT NULL,
`lastname` char(50) NOT NULL,
`age` smallint(6) NOT NULL,
`townid` smallint(6) NOT NULL,
PRIMARY KEY (`peopleid`),
UNIQUE KEY `unique_fname_lname`(`firstname`,`lastname`),
KEY `fname_lname_age` (`firstname`,`lastname`,`age`)
) ;
其中peopleid是主键,以firstname和lastname两列建立了一个唯一索引,以firstname,lastname,age三列建立了一个普通索引
9. inner join
select * from posts
inner join users
posts.assign_user = users.id
);
9. like % _
%表示多个字符
_表示单个字符
select * from posts
where title like 'item%';
//where title like '%item%';
//where title like '%item_';
//where title like '_tem%';
10.创建一个建库
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
11.修改表名
//在表MyClass名字更改为YouClass
rename table MyClass to YouClass;
12.备份和还原
1.Win32下MySQL的备份与还原
1.1 备份
开始菜单 | 运行 | cmd |利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”命令进入bin文件夹 | 利用“mysqldump -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。
1.2 还原
进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。
2.Linux下MySQL的备份与还原
2.1 备份
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可。
2.2 还原法一:
[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。
法二:
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。
13.增加字段
命令:alter table 表名add字段 类型 其他;
例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
mysql> alter table MyClass add passtest int(4) default '0'
加索引
mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql> alter table employee add index emp_name (name);
加主关键字的索引
mysql> alter table 表名 add primary key (字段名);
例子: mysql> alter table employee add primary key(id);
加唯一限制条件的索引
mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table employee add unique emp_name2(cardnumber);
删除某个索引
mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table employee drop index emp_name;
增加字段:
mysql> ALTER TABLE table_name ADD field_name field_type;
修改原字段名称及类型:
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
删除字段:
MySQL ALTER TABLE table_name DROP field_name;
14.MYSQL中LIMIT用法
limit是mysql的语法
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,4条记录
15.MYSQL中MID用法
select mid(name,1,4)
from table
//取出表中name列中的第一个字符到第4个
16.MYSQL中procedure过程
//建立一个过程用于查找最大值的数据
create procedure MaxCountryPopulaton()
select * name,max(population) as PopulationMax
from country;
call MaxCountryPopulaton()
17.MYSQL中replace用法
1.replace into
replace into table (id,name) values('1','aa'),('2','bb')
此语句的作用是向表table中插入两条记录。如果主键id为1或2不存在
就相当于
insert into table (id,name) values('1','aa'),('2','bb')
如果存在相同的值则不会插入数据
2.replace(object,search,replace)
把object中出现search的全部替换为replace
select replace('www.jb51.net','w','Ww')--->WwWwWw.jb51.net
例:把表table中的name字段中的aa替换为bb
update table set name=replace(name,'aa','bb')
18.MYSQL中date()和 date_Format()和 date_add()和 date_sub()用法
select date(now())
------
select date_Format(now(),'%D,%M,%Y')
//返回当前的日期
select date_Format(now(),'%d,%m,%y')
select date_Format(now(),'%d/%m/%y')
------
select date_add(curdate(),INTERVAL 10 year)
//查询出的日期加10年
select date_sub(curdate(),INTERVAL 1 day)
19.MYSQL中view视图用法
create view Top10Pop
as
select * from table
order by item desc
limit 10;
select * from Top10Pop
//查询视图
drop view Top10Pop
//删除视图
20.MYSQL中length用法
select Name,length(Name)
from table
21.MYSQL中upper大lower小写转化用法
//转变大写
select *,upper(item) as item
from table
limit 5
//转变小写
select *,lower(item) as item
from table
limit 5
22.MYSQL中left用法
select left(name,3)
from table
23.MYSQL中curtime()用法
select curtime()
//显示时间
24.MYSQL中IF用法
select * name,item,if(item>100,'high','low') as new_item
from table
25.MYSQL中avg用法
select avg(item)
from table
26.mysql中的max 和 min 和 sum用法
select name,min(item) as m_min
from table
select name,max(item) as m_max
from table
select name,sum(item) as m_sum
from table
27.mysql中select case 用法
select * ,
CASE name
when 'zzz' then 'z'
when 'xxx' then 'x'
else 'ooo'
end
as z_case
from table
order by z_case desc
28.mysql中substring用法
select * , substring(Name,5)
from table
where Name = 'aberdeen'
//输出结果deen 从字符串的第5个位置开始输出
select * , substring(Name,-5,2)
from table
where Name = 'aberdeen'
//输出结果rd
29.mysql中bin()用法
select bin(234) as binartnumber
30.mysql中cast()用法
select cast('2013-03-02' as DateTime)
//2013-03-02 00:00:00
select cast('2013-03-02' as Date)
//2013-03-02
select cast('2013-03-02' as signed)
//2013
31.mysql中char length function用法
select char_length(1234);
//输出4
select char_length(‘zxl’);
//输出3
32.mysql中convert用法
select lower(convert('Test' using utf8))
-----------------------------------------------------------------------------------------------------------
练习:
show databases;
create database zxl;
use zxl;
create table zlogin(
id bigint not null auto_increment primary key,
zusername char(11) not null,
zpassword char(11) not null,
zsex char(11),
zage int,
zphone char(11) not null,
zemail char(25) not null
);
insert into zlogin(zusername,zpassword,zsex,zage,zphone,zemail) values('admin','admin','men',21,'18254598112','zxl@gmail.com');
show tables;