===============DOS下命令===========mysql -hroot -plong --登陆 STATUS --查看mysql当前信息 ========== SELECT CURRENT_TIME; SELECT CURRENT_TIME(); /*只显示当前时间8*/ SELECT CURRENT_DATE(); /*只显示当前日期8*/ SELECT CURRENT_TIMESTAMP(); /*显示当前的时间和日期*/ SHOW DATABASES; /*列出所有的数据库模式*/ SELECT DATABASE(); /*查看当前使用的数据库模式*/ USE an /*8切换到指定的数据库模式8*/ SHOW TABLES; /*列出当前模式中的数据表*/ DESC tableName; /*查看表结构*/ SHOW COLUMNS FROM test; --单行注释 /* 多行注释*/、
CREATE DATABASE DBName; --创建数据库模式DBName DROP databse DBName; --删除数据库模式DBName ALTER DATABASE DBName CHARACTER SET utf8; --修改数据库DBName的编码方式--创建表 CREATE TABLE tb_test ( id INT(11) PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(255) NOT NULL, salary FLOAT(11,2), /*创建小数类型的列,小数点后两位 */ birthday DATE, SLEEP TIME, ts TIMESTAMP, /*创建时间戳类型的列,保存日期和时间*/ description TEXT, /* 创建大文本类型数据的列,保存大文本,长度不受限制*/ picture BLOB /*创建二进制类型的列,保存二进制数据*/ );
/*创建临时表 --临时表是指创建后只在当前数据库内有效,断开与数据库的连接后表就自动删除8*/ CREATE TEMPORARY TABLE tb_temp ( id INTEGER, NAME VARCHAR(100), PRIMARY KEY(id) ); DROP TABLE tableName; ALTER TABLE tableName DROP NAME; --删除tableName表中的NAME列 ALTER TABLE tableName CHANGE NAME newName dataType; --修改tableName表中的列 ALTER tableName ADD NAME VARCHAR(200) NOT NULL DEFAULT 'helloword'; --向tableName表中添加NAME列 ALTER TABLE tableName RENAME TO newTableName ; --修改表名SELECT column1,column2…… FROM tableName; --查询表tableName 中的column1、……数据 SELECT * FROM tableName; --查询表tableName中的所有字段信息 INSERT INTO tableName (column1,column2) VALUES(value1,value2); --向表tableName中插入column1、column2字段数据 UPDATE tableName SET column1=value1,column2=value2 WHERE conditions; --更新tableName表中符合conditions条件的记录中的column1字段值为value1,column2字段值为value2 DELETE FROM tableName WHERE conditions; --删除tableName表中符合条件conditions的记录 DELETE FROM tableName; --删除tableName表中的所有记录 /*创建、删除、授权用户8*/
CREATE USER username1; --创建用户usernname1 GRANT ALL PRIVILEGES ON DBName.* TO username1@'% ' IDENTIFIED BY 'password123' WITH GRANT OPTION; --授权用户username1仅能访问数据库DBName下的所有数据表,密码为password123 DROP USER username1; --删除用户username1批量执行SQL语句 可以将SQL语句写在一个SQL格式的脚本文件中,使用批量的方式执行,脚本中的SQL语句通过";"分隔,"--"后是注释 使用命令source filename.sql 或反斜杠"\. filename.sql" 在控制台批量执行SQL语句 mysql -h myhost -u root -p DATABASE < sql.txt (sql.txt中包含SQL语句) 18 、修改mysql用户密码(下面三种方式都通过验证) ①在cmd中执行如下命令即可 mysqladmin -uroot -p PASSWORD '你的新密码' eg. mysqladmin -u root -p PASSWORD root --将用户root的密码改为root,最后要求输入原密码。 ②在mysql命令行中执行如下语句 mysql> SET PASSWORD FOR root@"%" = PASSWORD('mysql'); ③直接在数据库中修改记录 mysql> USE mysql mysql> UPDATE USER SET PASSWORD = PASSWORD("new_password") WHERE USER = "user_name"; mysql> FLUSH PRIVILEGES; 19、mysql出现乱码问题解决方案:(1)修改 my.ini(MySQL SERVER Instance Configuration 文件) # CLIENT SECTION [CLIENT] PORT=3306[mysql] DEFAULT-CHARACTER-SET=gbk# SERVER SECTION [mysqld] DEFAULT-CHARACTER-SET=gbk (2)修改DATA目录中相应数据库目录下的db.opt配置文件 DEFAULT-CHARACTER-SET=gbk DEFAULT-COLLATION=gbk_chinese_ci(3)数据库连接串中指定字符集 URL=jdbc:mysql://yourIP/college?USER=root&PASSWORD=yourPassword&useUnicode=TRUE&characterEncoding=gbk 注:在mysql4.1.0版 要加useUnicode=TRUE&characterEncoding=gbk 如果是5.0版以上的,加不加都是没有关系的!(4)在创建数据库时指定字符集 CREATE DATABASE yourDB CHARACTER SET gbk;(5)在dos命令上要设置 SET NAMES gbk 在创建数据库是请使用如下语句: CREATE DATABASE dbName CHARACTER gbk;20、mysql自增字段设置 ALTER TABLE album CHANGE ALBUM_ID ALBUM_ID BIGINT NOT NULL AUTO_INCREMENT; ALTER TABLE album AUTO_INCREMENT=1;创建: mysql>CREATE TABLE cc(id INT AUTO_INCREMENT,NAME VARCHAR(20),PRIMARY KEY(id)); 修改: mysql> ALTER TABLE cc CHANGE id id INT PRIMARY KEY AUTO_INCREMENT;注:只有INT类型且为PRIMARY KEY 才可以使用auto_increment.如果用hibernate作为持久层,那么主键ID处用identity类型.21、mysql的驱动名称及URL DRIVER: com.mysql.jdbc.Driver URL: jdbc:mysql://localhost:3306/DBNAME?useUnicode=TRUE&characterEncoding=UTF-8 USERNAME: root PASSWORD: root/*mysql alter 语句用法,添加、修改、删除字段等 */ //主键549830479 ALTER TABLE tabelname ADD new_field_id INT(5) UNSIGNED DEFAULT 0 NOT NULL AUTO_INCREMENT ,ADD PRIMARY KEY (new_field_id); //增加一个新列549830479ALTER TABLE t2 ADD d TIMESTAMP; ALTER TABLE infos ADD ex TINYINT NOT NULL DEFAULT '0'; //删除列549830479ALTER TABLE t2 DROP COLUMN c; //重命名列549830479ALTER 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; 加索引549830479mysql> 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); 加主关键字的索引549830479mysql> 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; 修改表/*增加字段*/ 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;--复习下
如果是你想使用某个数据库,连接上MYSQL服务器后,是用 use dbNamemysql -u root -p ... 是操作系统下的命令,用于连接MYSQL服务器。
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
===============DOS下命令===========mysql -hroot -plong --登陆
STATUS --查看mysql当前信息
==========
SELECT CURRENT_TIME;
SELECT CURRENT_TIME(); /*只显示当前时间8*/
SELECT CURRENT_DATE(); /*只显示当前日期8*/
SELECT CURRENT_TIMESTAMP(); /*显示当前的时间和日期*/ SHOW DATABASES; /*列出所有的数据库模式*/
SELECT DATABASE(); /*查看当前使用的数据库模式*/
USE an /*8切换到指定的数据库模式8*/ SHOW TABLES; /*列出当前模式中的数据表*/
DESC tableName; /*查看表结构*/
SHOW COLUMNS FROM test; --单行注释
/* 多行注释*/、
CREATE DATABASE DBName;
--创建数据库模式DBName
DROP databse DBName;
--删除数据库模式DBName
ALTER DATABASE DBName CHARACTER SET utf8;
--修改数据库DBName的编码方式--创建表
CREATE TABLE tb_test
(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(255) NOT NULL,
salary FLOAT(11,2), /*创建小数类型的列,小数点后两位 */
birthday DATE,
SLEEP TIME,
ts TIMESTAMP, /*创建时间戳类型的列,保存日期和时间*/
description TEXT, /* 创建大文本类型数据的列,保存大文本,长度不受限制*/
picture BLOB /*创建二进制类型的列,保存二进制数据*/
);
/*创建临时表
--临时表是指创建后只在当前数据库内有效,断开与数据库的连接后表就自动删除8*/
CREATE TEMPORARY TABLE tb_temp
(
id INTEGER,
NAME VARCHAR(100),
PRIMARY KEY(id)
);
DROP TABLE tableName;
ALTER TABLE tableName DROP NAME; --删除tableName表中的NAME列
ALTER TABLE tableName CHANGE NAME newName dataType; --修改tableName表中的列
ALTER tableName ADD NAME VARCHAR(200) NOT NULL DEFAULT 'helloword'; --向tableName表中添加NAME列
ALTER TABLE tableName RENAME TO newTableName ; --修改表名SELECT column1,column2…… FROM tableName; --查询表tableName 中的column1、……数据
SELECT * FROM tableName; --查询表tableName中的所有字段信息
INSERT INTO tableName (column1,column2) VALUES(value1,value2); --向表tableName中插入column1、column2字段数据 UPDATE tableName SET column1=value1,column2=value2 WHERE conditions; --更新tableName表中符合conditions条件的记录中的column1字段值为value1,column2字段值为value2
DELETE FROM tableName WHERE conditions; --删除tableName表中符合条件conditions的记录
DELETE FROM tableName; --删除tableName表中的所有记录
/*创建、删除、授权用户8*/
CREATE USER username1; --创建用户usernname1
GRANT ALL PRIVILEGES ON DBName.* TO username1@'% ' IDENTIFIED BY 'password123' WITH GRANT OPTION;
--授权用户username1仅能访问数据库DBName下的所有数据表,密码为password123
DROP USER username1; --删除用户username1批量执行SQL语句
可以将SQL语句写在一个SQL格式的脚本文件中,使用批量的方式执行,脚本中的SQL语句通过";"分隔,"--"后是注释
使用命令source filename.sql 或反斜杠"\. filename.sql" 在控制台批量执行SQL语句
mysql -h myhost -u root -p DATABASE < sql.txt (sql.txt中包含SQL语句)
18 、修改mysql用户密码(下面三种方式都通过验证)
①在cmd中执行如下命令即可
mysqladmin -uroot -p PASSWORD '你的新密码'
eg. mysqladmin -u root -p PASSWORD root --将用户root的密码改为root,最后要求输入原密码。
②在mysql命令行中执行如下语句
mysql> SET PASSWORD FOR root@"%" = PASSWORD('mysql');
③直接在数据库中修改记录
mysql> USE mysql
mysql> UPDATE USER SET PASSWORD = PASSWORD("new_password") WHERE USER = "user_name";
mysql> FLUSH PRIVILEGES;
19、mysql出现乱码问题解决方案:(1)修改 my.ini(MySQL SERVER Instance Configuration 文件)
# CLIENT SECTION
[CLIENT]
PORT=3306[mysql]
DEFAULT-CHARACTER-SET=gbk# SERVER SECTION
[mysqld]
DEFAULT-CHARACTER-SET=gbk (2)修改DATA目录中相应数据库目录下的db.opt配置文件
DEFAULT-CHARACTER-SET=gbk
DEFAULT-COLLATION=gbk_chinese_ci(3)数据库连接串中指定字符集
URL=jdbc:mysql://yourIP/college?USER=root&PASSWORD=yourPassword&useUnicode=TRUE&characterEncoding=gbk 注:在mysql4.1.0版 要加useUnicode=TRUE&characterEncoding=gbk 如果是5.0版以上的,加不加都是没有关系的!(4)在创建数据库时指定字符集
CREATE DATABASE yourDB CHARACTER SET gbk;(5)在dos命令上要设置
SET NAMES gbk
在创建数据库是请使用如下语句:
CREATE DATABASE dbName CHARACTER gbk;20、mysql自增字段设置
ALTER TABLE album CHANGE ALBUM_ID ALBUM_ID BIGINT NOT NULL AUTO_INCREMENT;
ALTER TABLE album AUTO_INCREMENT=1;创建:
mysql>CREATE TABLE cc(id INT AUTO_INCREMENT,NAME VARCHAR(20),PRIMARY KEY(id));
修改:
mysql> ALTER TABLE cc CHANGE id id INT PRIMARY KEY AUTO_INCREMENT;注:只有INT类型且为PRIMARY KEY 才可以使用auto_increment.如果用hibernate作为持久层,那么主键ID处用identity类型.21、mysql的驱动名称及URL
DRIVER: com.mysql.jdbc.Driver
URL: jdbc:mysql://localhost:3306/DBNAME?useUnicode=TRUE&characterEncoding=UTF-8
USERNAME: root
PASSWORD: root/*mysql alter 语句用法,添加、修改、删除字段等 */
//主键549830479 ALTER TABLE tabelname ADD new_field_id INT(5) UNSIGNED DEFAULT 0 NOT NULL AUTO_INCREMENT ,ADD PRIMARY KEY (new_field_id);
//增加一个新列549830479ALTER TABLE t2 ADD d TIMESTAMP;
ALTER TABLE infos ADD ex TINYINT NOT NULL DEFAULT '0';
//删除列549830479ALTER TABLE t2 DROP COLUMN c;
//重命名列549830479ALTER 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;
加索引549830479mysql> 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);
加主关键字的索引549830479mysql> 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;
修改表/*增加字段*/
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;--复习下