数据库就是用来存储和管理数据的仓库
数据库存储数据的优点:
MySQL的数据存储目录为data,data目录通常在C:\Documents and Settings\All Users\ApplicationData\MySQL\MySQL Server 5.1\data位置。在data下的每个目录都代表一个数据库。
MySQL的安装目录下:
net start mysql
;net stop mysql
;在启动MySQL服务器后,我们需要使用管理员用户登录MySQL服务器,然后来对服务器进行操作。登录MySQL需要使用MySQL的客户端程序:mysql.exe
mysql -uroot -p123 -hlocalhost
(后面不加分号)mysql -uroot -p123
quit
或exit
;SQL(Structured Query Language)是“结构化查询语言”,它是对关系型数据库的操作语言。它可以应用到所有的关系型数据库中,例如:MySQL、Oracle、SQL Server等。SQL标准(ANSI/ISO)有:
SHOW DATABASES
;USE mydb1
,切换到mydb1数据库;CREATE DATABASE [IF NOT EXISTS] mydb1
;CREATE DATABASE mydb1
,创建一个名为mydb1的数据库。如果这个数据已经存在,那么会报错。例如CREATE DATABASE IF NOT EXISTS mydb1
,在名为mydb1的数据库不存在时创建该库,这样可以避免报错。DROP DATABASE[IF EXISTS] mydb1
;DROP DATABASE mydb1
,删除名为mydb1的数据库。如果这个数据库不存在,那么会报错。DROP DATABASE IF EXISTS mydb1
,就算mydb1不存在,也不会的报错。ALTER DATABASE mydb1 CHARACTER SET UTF8
MySQL与Java一样,也有数据类型。MySQL中数据类型主要应用在列上。
常用类型:
CREATE TABLE 表名(
列名 列类型,
列名 列类型,
......
);
例如:
CREATE TABLE stu(
id CHAR(6),
name VARCHAR(20),
age INT,
gender VARCHAR(10)
);
SHOW TABLES
;SHOW CREATE TABLE emp
,查看emp表的创建语句;DESC emp
,查看emp表结构;DROP TABLE emp
,删除emp表;ALTER TABLE stu ADD(classname varchar(100));
ALTER TABLE stu MODIFY gender CHAR(2);
ALTER TABLE stu change gender sex CHAR(2);
ALTER TABLE stu DROP classname;
INSERT INTO 表名(列名1,列名2,......) VALUES(值1,值2);
例:
INSERT INTO stu(sid,sname) VALUES('s_1001','zhangSan');
INSERT INTO 表名 VALUES(值1,值2,......);
INSERT INTO stu VALUES('s_1002','liSi',32,'female');
UPDATE 表名 SET 列名1=值1,......,列名n=值n [WHERE 条件]
UPDATE stu SET sname='liSi',age=20 WHERE age>50 AND gender='female';
DELETE FROM 表名 [WHERE 条件];
DELETE FROM stu WHERE sid='s_1001';
TRUNCATE TABLE 表名
TRUNCATE TABLE stu;
语法:
CREATE USER 用户名@地址 IDENTIFIED BY '密码';
例:
CREATE USER user1@localhost IDENTIFIED BY '123';
语法:
GRANT 权限1,...,权限n ON 数据库.* TO 用户名@IP
例:
GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO user1@localhost;
GRANT ALL ON mydb1.* TO user2@localhost;
语法:
REVOKE 权限1,...,权限n ON 数据库.* FROM 用户名
例:
REVOKE CREATE,ALTER,DROP ON mydb1.* FROM user1@localhost;