压缩包安装(社区版):
http://blog.sina.com.cn/s/blog_9ea3a4b70101ihl3.html
注: 安装包的形式 或 brew 安装mysql后,一直登录报错(不知道什么原因)
注: 建表报错:MySQL:Error : Tablespace for table `database`.`temp` exists. Please DISCARD the tablespace before IMPORT.
解决办法
http://www.shaoqun.com/a/101373.aspx
命令 | 作用 |
show databases; | 所有数据库 |
use database; show tables; |
所有表 |
DROP DATABASE IF EXISTS sampledb; CREATE DATABASE sampledb DEFAULT CHARACTER SET utf8; USE sampledb; ##创建用户表 CREATE TABLE t_user ( user_id INT AUTO_INCREMENT PRIMARY KEY, user_name VARCHAR(30), credits INT, password VARCHAR(32), last_visit datetime, last_ip VARCHAR(23) )ENGINE=InnoDB; ##创建用户登录日志表 CREATE TABLE t_login_log ( login_log_id INT AUTO_INCREMENT PRIMARY KEY, user_id INT, ip VARCHAR(23), login_datetime datetime )ENGINE=InnoDB; ##插入初始化数据 INSERT INTO t_user (user_name,password) VALUES('admin','123456'); COMMIT; |
新建库 新建表 |
describe t_login_log; |
表结构 |
use 库名; create table 表名 (字段设定列表); |
|
drop database 库名; drop table 表名; delete from 表名; |
|
mysql -h110.110.110.110 -u root -p 123; exit 或者: cd /usr/local/mysql/bin 启动mysql服务器:sudo ./mysqld_safe --defaults-file=/etc/my.cnf --user=root & sudo ./mysql -u root -p 输入密码:123
________________________ win7 mysql net start mysql 启动 net stop mysql 停止
win7 mysql登录出现: |
登录 退出 |
刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了 再将root的密码改为123: sudo ./mysqladmin -u root -p password 123; |
修改密码 |
select version(); select now(); //显示当前时间 select ((4 * 4) / 10 ) + 25;//当计算器 |
mysql版本 |
insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59); update MyClass set name='Mary' where id=1; alter table MyClass add passtest int(4) default '0'; |
|
select * from MyClass order by id limit 0,2; | 查看表 MyClass 中前2行数据 |
rename table MyClass to YouClass; | 修改表名 |
1.导出整个数据库 导出文件默认是存在mysql\bin目录下 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u user_name -p123456 database_name > outfile_name.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u user_name -p database_name table_name > outfile_name.sql 3.导出一个数据库结构 mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table |
备份数据库 |
select s2 from t2 order by s2 desc limit 2,1;
select s2 from t2 order by s2 desc limit 1 offset 2;
limit后面跟的是1条数据,offset后面是从第3条开始读取select * from table limit m,n 其中m是指记录开始的index,从0开始,表示第一条记录 n是指从第m+1条开始,取n条。 select * from tablename limit 2,4 即取出第3条至第6条,4条记录
select * from tablename <条件语句> limit 100,-1
从第100条后开始-最后一条的记录
mysql低版本不支持limit offset
limit offset 在mysql 4.0以上的版本中都可以正常运行,在旧版本的mysql 3.23中无效
limit m offset n 等价于 limit m,n
select s2 from t2 order by s2 desc limit 0,1;
1、offset比较小的时候。
select * from yanxue8_visit limit 10,10
多次运行,时间保持在0.0004-0.0005之间
Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10,1
) limit 10
多次运行,时间保持在0.0005-0.0006之间,主要是0.0006
结论:偏移offset较小的时候,直接使用limit较优。这个显然是子查询的原因。
2、offset大的时候。
select * from yanxue8_visit limit 10000,10
多次运行,时间保持在0.0187左右
Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10000,1
) limit 10
多次运行,时间保持在0.0061左右,只有前者的1/3。可以预计offset越大,后者越优。
当偏移1000以上使用子查询法可以有效的提高性能: