MySQL几个命令
Posted dear-hehe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL几个命令相关的知识,希望对你有一定的参考价值。
1,版本
mysql> select @@version;
mysql> select version();
未登入数据库的时候:
mysql -V
mysql --version
D:MySQLin>mysql -V
mysql Ver 14.14 Distrib 5.5.53, for Win32 (AMD64)
D:MySQLin>mysql --version
mysql Ver 14.14 Distrib 5.5.53, for Win32 (AMD64)
2,状态
mysql> status;
3,显示数据库
mysql>SHOW DATABASES ; //查看共有多少库
SELECT DATABASE() ; //查看当前库是哪个 [ 调用函数时,函数名和随后的符号‘(‘之间不得有空格 ]
SHOW ENGINES ; //查看当前数据库实例使用了哪些引擎(默认为InnoDB--supports transactions,row-level locking,and foreign keys)
Create Database CatalogM; //创建数据库
USE CatalogM ; //使用CatalogM库,此命令不需要分号结束
4,显示表结构
mysql> SHOW TABLES;
DESCRIBE tbName; //描述表结构
5,
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),species VARCHAR(20), sex CHAR(1), birth DATE,age int);
INSERT INTO pet VALUES (‘Puffball‘,‘Diane‘,‘hamster‘,‘f‘,‘1999-03-30‘,25);
select * from tbName; //查询
select * from pet where owner is not null; //主人非空的所有宠物
- 6,可以将不同数据库的表混合在相同的查询中
- MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。[一般为2G以上]
-
InnoDB提供了全面的ACID兼容性 , 而非事务性存储引擎(如MyISAM)读取速度则更快。事务性和非事务性表类型之间的权衡主要取决于性能。
innoDB引擎支持foreign key约束,MyISAM不支持。 - 在5.1版本中,可以支持存储过程、视图、基本的触发器功能
-
数据类型变化:
ORACLE中的Provider VARCHAR2(60),在mySql中应表示为Provider VARCHAR(60)。 mySql中没有VARCHAR2类型
ORACLE中的price NUMBER(8,2),在mySql中应表示为price DOUBLE(8,2) ;
ORACLE中的manifest CLOB,在mySql中应表示为manifest TEXT;
ORACLE中的Describe VARCHAR(200),在mySql中Describe为关键字,修改为Describe2 VARCHAR(200)
ORACLE中的Creation_Date DATE,在mySql中如想同时包含日期和时间,修改为Creation_Date DATETIME
ORACLE中的sequence,在mySql中可以使用AUTO_INCREMENT字段属性替换。为了使代码一致,最好采用手动增长的方式。this.database.getNextAutoID()create table TB_Asset_Packages (
Package_Name VARCHAR(130) not null,
Provider_id VARCHAR(30),
Provider VARCHAR(60),
Product VARCHAR(60),
Creation_Date DATETIME,
PosterUrl VARCHAR(500),
Movie_Center_Provider VARCHAR(120),
Rating VARCHAR(30),
Country_of_origin VARCHAR(60),
constraint PK_TB_ASSET_PACKAGES primary key (Package_Name)
); - mysql的驱动放在%tomcat_home%commonlib下,如mysql-connector-java-5.1.7-bin.jar
-
Tomcat 5.5confserver.xml中的配置
Data Source URL的内容可能是jdbc:mysql://IP/DataBaseName,其中DataBaseName是你的数据库名称,IP是你的数据库的所在的服务器的IP或是名称
<Context path="/CatalogManager204" docBase="CatalogManager204" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/MYSQL_CatalogDS" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="xiao" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.241.77/CatalogM"/>
</Context> -
中文乱码问题--字符集选择
mysql> SHOW CHARACTER SET; //显示mySql可以支持的所有字符集
show variables like ‘%character%‘; //显示当前的字符集配置
A、mySql安装目录下的my.ini文件,可以分别配置mySql的client和server的默认字符集。 default-character-set=latin1 ,clietn修改为gb2312,server改为utf8
B、Create DATABASE CatalogM CHARACTER SET utf8; -
BLOB
TEXT
一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符(64K)。MEDIUMBLOB
MEDIUMTEXT
一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。LONGBLOB
LONGTEXT
一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符。 -
SQL-92规定的事务级别有4个,transaction-isolation = {READ-UNCOMMITTED | READ-COMMITTED | REPEATABLE-READ | SERIALIZABLE}
oracle的默认事务级别为READ-COMMITTED,mySql5.1的默认事务级别为REPEATABLE-READ - mySql数据库连接
public boolean openConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
"aa",
"aa");
} catch (ClassNotFoundException e) {
e.printStackTrace();
return false;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
return true;
}
- 关于phpstudy连接数据库的问题
原因: #2002 无法登录 MySQL 服务器 将config.sample.inc.php复制成config.inc.php 出现这个错误,表示没有连接到数据库。
修改config.inc.php文件中 localhost =》127.0.0.1
hosts文件中的127.0.0.1 要指向localhost
成功连接数据库!
以上是关于MySQL几个命令的主要内容,如果未能解决你的问题,请参考以下文章