Mysql数据库
Posted ydqq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql数据库相关的知识,希望对你有一定的参考价值。
mysql介绍
mysql数据库是一个典型的 C/S(客户端/服务器)架构的应用,要访问mysql数据库需要使用专门的客户端软件:windows 可以用mysql manager等其他软件。linux中可以用到最简单易用的mysql自带的mysql命令工具。
数据库安装这里就不写了,网上一搜一大堆。
访问MySql数据库
登录到mysql服务器
经过安装后的初始化过程,;mysql的默认管理账号为root,密码为空,若要用root登录mysql,执行以下操作。
# mysql -u root // -u 制定用户
登录已经配置好的mysql服务器,需要制定服务器地址,用户,和密码。示例如下:
# mysql -h 192.168.1.147 -u root -p
# Enter password:
参数:
-h //指定服务器地址
-u //指定用户
-p //指定要输入密码
进入mysql> 操作环境就可以各种操作语句了,每一条语句以分号”;“表示结束,输入时可以不区分大小写,但是习惯上来说最好区分大小写。
退出”mysql>“操作环境
mysql> quit //或exit
Bye
查看MySQL数据库
数据库结构:每一台mysql中,支持运行多个库,每个库相当于一个容器,其中存放了大量的表。
查看当前服务器中有哪些库
SHOW DATABASES
mysql默认会创建三个库:test , mysql information_schema (其中mysql库中包含了用户认证相关的表)
查看当前使用的库中有哪些表
查看之前要先用 USE 切换到要查看的库
mysql> USE mysql;
mysql> SHOW TABLES;
MySQL数据库的数据文件默认存放在 /usr/local/mysql/var/ 目录下,每个数据库对应一个子目录,用于存储数据表文件。每个数据表对应三个文件,后缀名分别为 : .frm .MYD .MYI
查看表的结构
DESCRIBE 表名;
mysql> USE dfwy; //切换到指定的库中
mysql> DESCRIBE rb_hyfl; //命令后面跟表名
其他查看表的命令(记住一个就行):
DESC 表名;
show create table 表名;
创建,删除:库/表
创建新的库
CREATE DATABASE 库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE 库名 DEFAULT CHARSET SET gbk COLLATE utf8_chinese_ci;
CREATE DATABASE 用户创建新的库,需指定库名作为参数。
新创建的库里面没有任何表,在/usr/local/mysql/var/目录下会自动生成一个与新建的库名相同的空文件夹。
删除库
DROP DATABASE 库名
创建表
创建表格之前,首先要确认将要创建的表格的结构。
CREATE TABLE 表名
CREATE TABLE语句:用于在当前库中创建新的表,需指定数据表名称作为参数,并定义该表格所使用的各字段。
格式:
格式:
CREATE TABLE 表名 (列名 数据类型 是否为空 默认值 自增,
列名 数据类型 是否为空 默认值,
PRIMARY KEY(列名)
)
列属性:
是否为空:
null标识空,not null 不可空,null 可空。
自增:
自增列必须是主键,两者不可分离。
auto_increment
主键:
primary key 或 primary key(nid,num)
例子:
create table tb1(
nid int not null auto_increment primary key,
num int null
)
或
create table tb1(
nid int not null auto_increment,
num int null,
index(nid)
)
删除表
DROP TABLE 库名.表名;
mysql> DROP TABLE shaa.ddd;
Query OK, 0 rows affected (0.03 sec)
DROP TABLE 语句:用于删除库中的表,需要制定”库名.表名”作为参数;若只指定表名参数,则需先通过”USE“语句切换到目标库。
清空表
delete from 表名;
truncate table 表名;
修改表
添加列:
alter table 表名 add 列名 类型
删除列:
alter table 表名 drop column 列名
修改列:
alter table 表名 modify column 列名 类型;
alter table 表名 change 原列名 新列名字 类型;
添加主键:
alter table 表名 add primary key(列名);
删除主键:
alter table 表名 drop primary key;
alter table 表名 modify 列名 int, drop primary key;
添加外键:
alter table 从表 add constraint 外键名称(规范:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
删除外键:
alter table 表名 drop foreign key 外键名称;
数据:增,改,查,删
插入数据
INSERT INTO 表名 (字段1,字段2,......) VALUES(字段1的值,字段2的值),(字段1的值,字段2的值);
操作:
mysql> USE dd
mysql> INSERT INTO aaa(user_name,department) VALUES('dyq','IT');
在插入新数据时,如果这条记录完整包括表中的所有字段的值,则插入语句中指定字段的部分可以省略。
INSERT INTO aaa VALUES('ersha','hr');
查询数据
SELECT语句:用于从指定的表中查找符合条件的数据记录,mysql数据库支持标准的SQL查询语句。
格式:
SELECT 字段名1,字段名2,...... FROM 表名 WHERE 条件表达式
表示所有字段时可以使用通配符“*”,若要列出所有额数据记录则可以省略WHERE 条件子句。
例:
mysql> SELECT * from aaa;
mysql> SELECT user_name,department FROM aaa WHERE user_name= 'dyq';
修改数据
UPDATE 语句:用于修改,更新表中的数据记录。
格式:
UPDATE 表名 SET 字段1=字段值1,字段名2=字段值2...... WHERE 条件表达式;
例:
mysql> UPDATE dd.aaa SET department='project' WHERE user_name='dyq';
注:
列表名称要写全,包括库名.表名。指定数据是要用单引号” 括住。
删除数据
DELETE语句:用于删除表中指定的数据记录。
格式:
DELETE FROM 表名 WHERE 条件表达式;
例:
mysql> DELETE FROM aaa WHERE user_name='shaer';
mysql> SELECT * FROM aaa; //查看验证。
以上是关于Mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章
Java Web之会话管理一: 使用Cookie进行会话管理
POJ 1742 Coins ( 经典多重部分和问题 && DP || 多重背包 )