mySql学习笔记(简明版)
1:查看所有数据库----------------------------show databases;
2:进入某个数据库----------------------------use databaseName;
3:查看数据库下所有的表----------------------show tables;
4:查看某张表的结构--------------------------desc tableName;//desc为description的缩写
5:分页查看----------------------------------selet 语句 + limit + 起始项,项数
----------------------------------例子:select * from table order by property desc limit 3,2;
6:自动递增字段------------------------------在该列创建时后面加auto_increment,在插入值的时候,写mull即可;
------------------------------例子:create table tName (int id primary key auto_increment);
7:取当前时间---------------------------------select now();//now()是一个函数;
8:设置日期格式-------------------------------data_format(now(),'%Y-%M-%D %H:%I:%S')
9:使用 "\." + 脚本文件路径及名称,执行脚本文件;
10:显示所有用户及对应主机--------------------select user ,host from mysql.user;
11:修改用户密码------------------------------set password for 'user'@'host'=password('password');
-------------------------------将主机为host/用户名为user的用户的密码改为password;
12:TEXT类型为可变长度文本类型,可支持长度小于64千字节的数据
1:字段连接
select book_id,title,pub_year,
concat(author_first,' ',author_last) as author; concat()将两个字段连接成一个字段 并起名为author
from books
join authors using (author_id)
where author_last='Green';
2:创建变量
创建一个变量 用“@”标志
3:LIKE
like的用法
"%"匹配0到多个字符
"_"匹配一个字符
4:
5:FLUSH
使用flush可以清楚并冲在mysql的临时缓存,要先执行flush,必须有reload权限
6:显示用户权限
show grants for user 显示用户的权限
7:加密
password()方法用于加密
AES_ENCRYPT(string,password)加密给定的字符串,采用AES算法
AES_DECRYPT(string,password)解密给定的字符串
ENCODE(pwd1,pwd2);加密 pwd1为要加密的密码,pwd2为加密种子
DECODE(pwd1,pwd2);解密
8:添加索引
方法一:
ALTER TABLE tableName
ADD INDEX indexName(columnNames)
USING method
方法二:
CREATE UNIQUE INDEX index
ON table(column,...)
Text,char,varchar类型的列,必须用fulltext类型来添加索引
ALTER TABLE tableName
ADD FULLTEXT INDEX indexName(columnNames)
USING method
9:设置列的默认值
ALTER TABLE table
ALTER COLUMN column SET DEFAULT defaultValue;
10:删除列
ALTER TABLE table
DROP COLUMN column1,
DROP COLUMN column2;
11:删除索引,主键,外键
ALTER TABLE table
DROP INDEX index |
DROP PRIMARY KEY |
DROP FOREGIN KEY foregin_key
12:重命名
RENAME TABLE tableName To tableName;
RENAME DATABASE databaseName To databaseName;
13:条件删除
DELETE table1,table2,.. FROM table1,table2,...
WHERE ......;
DELETE 后面的表名是指定的满足条件的要删除记录的表
14:HANDLER
特色
HANDLER 提供了直接访问表的一个通道以便可以在结果集中工作。当从表中读取大量的行时,句柄比SELECT语句快得多
要用之前必须建立一个句柄
建立句柄后,不会对访问的表加锁
语法
HANDLER table OPEN [AS handlerName] #在表table上创建了一个名为handlerName的handler
HANDLER handlerName READ index{=|>=|<=|<} [WHERE condation] [LIMIT ..] #用handler进行查询
HANDLER handlerName READ index{FIRST|NEXT|PREV|LAST}[WHERE condation] [LIMIT ..] #用handler进行查询
HANDLER handlerName READ {FIRST|NEXT|PREV|LAST}[WHERE condation] [LIMIT ..] #用handler进行查询
HANDLER handlerName CLOSE; #关闭handlerName
15:INSERT
普通插入 INSERT INTO table(var1,var,.....) values(...),(...);
将SELECT 检索的结果插入 INSERT INTO table(var1,var2,...) SELECT .....
//主键549830479
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一个新列549830479
alter table t2 add d timestamp; alter table infos add ex tinyint not null default '0';
//删除列549830479
alter table t2 drop column c;
//重命名列549830479
alter table t1 change a b integer;
//改变列的类型549830479
alter table t1 change b b bigint not null; alter table infos change list list tinyint not null default '0';
//重命名表549830479
alter table t1 rename t2;
加索引549830479
mysql> alter table tablename change depno depno int(5) not null; mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]); mysql> alter table tablename add index emp_name (name);
加主关键字的索引549830479
mysql> alter table tablename add primary key(id);
加唯一限制条件的索引549830479
mysql> alter table tablename add unique emp_name2(cardnumber);
删除某个索引549830479
mysql>alter table tablename drop index emp_name;
修改表:549830479
增加字段:549830479
mysql> ALTER TABLE table_name ADD field_name field_type;
修改原字段名称及类型:549830479
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
删除字段:549830479
mysql> ALTER TABLE table_name DROP field_name;
浙公网安备 33010602011771号