| 查询当前所有的表 | SQL> select * from tab; SQL> select * from cat where table_type=’TABLE’;//可能会有view SQL>select * from user_tables; | mysql> show tables; c:/mysql/bin>mysqlshow 库名 |
| 显示当前连接用户(库) | SQL> show user | mysql> connect |
| 查看帮助 | SQL> ? | mysql> help |
| 显示表结构 | SQL> desc 表名 SQL> describe 表名 | mysql> desc 表名; mysql> describe 表名; mysql> show columns from 表名; c:/mysql/bin>mysqlshow 库名 表名 |
| 日期函数 | SQL> select sysdate from dual; | mysql> select now(); mysql> select sysdate(); mysql> select curdate(); mysql> select current_date; mysql> select curtime(); mysql> select current_time; |
| 日期格式化 | SQL> select to_char(sysdate,'yyyy-mm-dd') from dual; SQL> select to_char(sysdate,'hh24-mi-ss') from dual; | mysql> select date_format(now(),'%Y-%m-%d'); mysql> select time_format(now(),'%H-%i-%S'); |
| 日期函数 (增加一个月) | SQL> select to_char(add_months(to_date('20000101','yyyymmdd'),1),'yyyy-mm-dd') from dual; 结果:2000-02-01 SQL> select to_char(add_months(to_date('20000101','yyyymmdd'),5),'yyyy-mm-dd') from dual; 结果:2000-06-01 | mysql> select date_add('2000-01-01',interval 1 month); 结果:2000-02-01 mysql> select date_add('2000-01-01',interval 5 month); 结果:2000-06-01 |
| 别名 | SQL> select 1 a from dual; SQL>select 1 as a from dual; //as可以省略 | mysql> select 1 as a; |
| 字符串截取函数 | SQL> select substr('abcdefg',1,5) from dual; SQL> select substr('abcdefg',1,5) from dual; 结果:abcde | mysql> select substring('abcdefg',2,3); 结果:bcd mysql> select mid('abcdefg',2,3); 结果:bcd mysql> select substring('abcdefg',2); 结果:bcdefg mysql> select substring('abcdefg' from 2); 结果:bcdefg 另有SUBSTRING_INDEX(str,delim,count)函数 返回从字符串str的第count个出现的分隔符delim之后的子串。 如果count是正数,返回最后的分隔符到左边(从左边数) 的所有字符。 如果count是负数,返回最后的分隔符到右边的所有字符(从右边数)。 |
| 执行外部脚本命令 | SQL >@a.sql | 1:mysql> source a.sql 2:c:/mysql/bin>mysql <a.sql 3:c:/mysql/bin>mysql 库名 <a.sql |
| 导入、导出工具 | exp.exe exp73.exe imp.exe imp73.exe | mysqldump.exe mysqlimport.exe |
| 改表名 | SQL> rename a to b; | mysql> alter table a rename b; |
| 执行命令 | ;<回车> / r run | ;<回车> go ego |
| distinct用法 | SQL> select distinct 列1 from 表1; SQL> select distinct 列1,列2 from 表1; | mysql> select distinct 列1 from 表1; mysql> select distinct 列1,列2 from 表1; |
| 注释 | -- /*与*/ | # -- /*与*/ |
| 当作计算器 | SQL> select 1+1 from dual; | mysql> select 1+1; |
| 限制返回记录条数 | SQL> select * from 表名 where rownum<5; | mysql> select * from 表名 limit 5; |
| 新建用户(库) | SQL> create user 用户名 identified by 密码; | mysql> create database 库名; |
| 删用户(库) | SQL> drop user 用户名; | mysql> drop database 库名; |
| 查询索引 | SQL> select index_name,table_name from user_indexes; | mysql> show index from 表名 [FROM 库名]; |
| 通配符 | “%”和“_” | “%”和“_” |
| SQL语法 | SELECT selection_list 选择哪些列 FROM table_list 从何处选择行 WHERE primary_constraint 行必须满足什么条件 GROUP BY grouping_columns 怎样对结果分组 HAVING secondary_constraint 行必须满足的第二条件 ORDER BY sorting_columns 怎样对结果排序 | SELECT selection_list 选择哪些列 FROM table_list 从何处选择行 WHERE primary_constraint 行必须满足什么条件 GROUP BY grouping_columns 怎样对结果分组 HAVING secondary_constraint 行必须满足的第二条件 ORDER BY sorting_columns 怎样对结果排序 LIMIT count 结果限定 |
| 自动增长的数据类型处理 | create sequence myseq increment by 1 start with 1 maxvalue 99999; | 主键列上加auto_increment |