Java数据库编程

DOS命令登录MySQL数据库:mysql -h 127.0.0.1 -u root -p root

查看版本信息------------------------------select version(),user()

操作数据库-创建--------------------------CREATE DATABASE 数据库名;

查看数据库列表---------------------------SHOW DATABASES;

选择数据库----------------------------------USE 数据库名;

删除数据库----------------------------------DROP DATABASE 数据库名;

使用SQL语句操作数据表:

创建表:CREATE TABLE [IF NOT EXISTS] 表名(

字段1 数据类型 [字段属性|约束] [索引] [注释],

字段2 数据类型 [字段属性|约束] [索引] [注释],

.......

字段n 数据类型 [字段属性|约束] [索引] [注释]

)[表类型] [表字符集] [注释];

单字段主键语法:

定义字段时指定主键:

CREATE TABLE [IF NOT EXISTS] 表名(

字段1 数据类型 PRIMARY KEY;

......

);
定义完所有字段后指定主键:

CREATE TABLE [IF NOT EXITST] 表名(

字段1数据类型;

......

[CONSTRAINT<约束名>] PRIMARY KEY[列名]

);

多字段联合主键:

CREATE TABLE  [IF NOT EXISTS] 表名(

......

PRIMARY KEY[字段1,字段2......]

);

注释:

CREATE TABLE test(

`id` int(11) UNSIGNED COMMENT 编号

)COMMENT=测试表;

编码格式设置:

CREATE TABLE [IF NOT EXISTS] 表名(

#省略代码

)CHARSET = 字符集名;

查看表-----------------------------------------SHOW tables;

查看表的定义-------------------------------DESCRIBE 表名;或  DESC 表名;

删除表-----------------------------------------DROP TABLE [IF EXISTS] 表名;

操作默认存储引擎-------------------------SHOW VARIABLES LIKE storage_engine%;

指定表的存储引擎:

CREATE TABLE 表名(

#省略代码

)ENGINE=存储引擎;

查看MySQL帮助---------------------------HELP 查询内容;

查看某一数据类型-------------------------HELP INT;

约束:

NOT NULL非空,UNIQUE KEY唯一的,PRIMARY KEY 主键,FORGIEN KEY 外键,AUTO_INCREMENT 自动增长,DEFAULT 默认

第三章:高级查询<>

修改表名ALTER TABLE<旧表名> RENAME<新表名>;

添加字段ALTER TABLE 表名 ADD 字段名 数据类型 [属性];

修改字段ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];

删除字段ALTER TABLE 表名 DROP 字段名;

添加主键约束ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);

添加外键约束ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段)REFERENCES 关联表名(关联字段)

插入单行数据INSERT INTO 表名[(字段名列表)] VALUES (值列表);

插入多行数据INSERT INTO 新表(字段名列表) VALUES (值列表1),(值列表2),......,(值列表n);

将查询结果插入到新表:

SELECT 字段1,字段2........

INTO 新表

FROM 原表;

CREATE TABLE 新表 (SELECT 字段1,字段2........FROM 原表);

更新数据记录:UPDATE 表名 SET 字段1=1,字段2=2......,字段n=n [WHERE 条件];

删除数据记录

1DELETE FROM 表名 [WHERE 条件];

2、TRUNCATE TABLE 表名;

数据查询:

SELECT<字段名列表>

FROM <表名或视图>

[WHERE<查询条件>]

[GROUP BY<分组的字段名>]

[HAVING <条件>]

[ORDER BY<排序的字段名>[ASCDESC]];

LIMIT语句:

SELECT<字段名列表>

FROM<表名或视图>

[WHERE<查询条件>]

[GROUP BY<分组的字段名>]

[ORDER BY<排序的字段名>[ASCDESC]]

LIMIT [位置偏移量,行数]

常用函数:

#函数——聚合函数——平均值

SELECT AVG(`studentNo`) FROM `student`;

#函数——聚合函数——

SELECT SUM(`studentNo`) FROM `student`;

******************************************************************************

#函数——字符串函数——写出完整的字符串

SELECT CONCAT('My','S','QL');

#函数——字符串函数——替换字符串

SELECT INSERT ('这是My SQL的数据库',3,10,'MySQL');

#函数——字符串函数——将字符串为小写

SELECT LOWER('MySQL');

#函数——字符串函数——将字符串为大写

SELECT UPPER('MySQL');

******************************************************************************

#函数——日期函数——获取当前日期

SELECT CURDATE();

#函数——日期函数——获取当前时间

SELECT CURTIME();

#函数——日期函数——获取当前日期和时间

SELECT NOW();

#函数——日期函数——返回日期data为一年中的第几周

SELECT WEEK(NOW());

#函数——日期函数——返回日期date的年数

SELECT YEAR(NOW());

#函数——日期函数——返回时间time的小时值

SELECT HOUR(NOW());

#函数——日期函数——返回时间time的分钟值

SELECT MINUTE(NOW());

#函数——日期函数——返回日期参数dateldate2之间相隔的天数

SELECT DATEDIFF(NOW(),'2008-05-11');

#函数——日期函数——计算日期参数date加上n天后的日期

SELECT ADDDATE(NOW(),5);

******************************************************************************

#函数——数学函数——返回大于或等于数值X的最小整数

SELECT CEIL(2.3);

#函数——数学函数——返回小于或等于数值X的最大整数

SELECT FLOOR(2.3);

#函数——数学函数——返回0~1之间的随机数

SELECT RAND();

子查询在where语句中的用法:

SELECT ...... FROM 1 WHERE 字段1 比较运算符(子查询);

EXISTS中的子查询:

SELECT ...... FROM 表名 WHERE EXISTS (子查询);

嵌套在SELECT语句的SELECT子句中子查询的语句:

SELECT (子查询) FROM 表名 ;

嵌套在SELECT语句的FROM子句中子查询的语句:

SELECT * FROM (子查询) AS 表的别名 ;

第五章:事务、索引、视图、备份、恢复

开始事务:BEGIN;

提交事务:COMMIT;

回滚事务:ROLLBACK;

设置自动提交开启或关闭:SET AUTOCOMMIT = 0/1;

值为0:关闭自动提交;

值为1:开启自动提交;

创建视图:

CREATE VIEW 视图名 AS <SELECT 语句>;

删除视图:

DROP VIEW [IF EXISTS] 视图名 ;

查看视图数据:

SELECT 字段1,字段2......FROM VIEW_NAME;

创建索引:

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name ON table_name (column_name[length].......);

删除索引:

DROP INDEX index_name ON table_name;

查看索引:

SHOW INDEX FROM table_name;

使用mysqldump命令备份数据库

命令格式:

mysqldump -u username -h host -p password dbname [tbname1[,dbname2.......]]>filename.sql;

mysqldump -u用户名 -h 主机地址 -p 密码 备份的数据库 [备份的数据表1[,dbname2.......]]>备份的文件名称;

使用mysql命令恢复数据库

Mysql -u username -p [dbname] <filename.sql;

使用source命令恢复数据库

Source filename;

表数据导出到文本文件:

SELECT columnlist FROM tablename [WHERE contion] INTO OUTFILE filename [OPTION];

文本文件导入到数据表:

LOAD DATA INFILE filename INTO TABLE  tablename[OPTION];

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值