结构化查询语言SQL
- 数据库定义语言(DDL):用于定义和管理数据库对象,包括数据库,数据表等。例如CREATE , DROP , ALTER。
- 数据操作语言(DML): 用于操作数据库对象所包含的数据。例如:INSERT , UPDATE , DELETE 语句 。
- 数据库查询语言(DQL):用于查询数据库所包含的数据。能够进行单表查询,嵌套查询,集合查询,等各种复杂度不同的数据库查询。例如有SELECT语句
- 数据库控制语言(DCL):是用来管理数据库的语言,包含管理权限及数据的更改。例如: GRANT , REVOKE, COMMIT ,ROLLBACK 等语句。
MySQL数据库的常见操作
MySQL数据库的连接与关闭
mysql -h 服务器主机地址 -u -p
创建新用户并授权
GRANT 权限 ON 数据库.数据表 TO 用户名@登录主机 IDENTIFIED BY “密码”
创建数据库
mysql> CREATE DATABASE [IF NIT EXISTS] bookstore; # 创建一个名为bookstore数据库
删除数据库
mysql> DROP DATABASES [IF EXISTS] bookstore; #删除一个名为bookstore数据库
显示数据库
mysql> SHOW DATABASES; #显示已建立的数据库名称列表
创建数据表
mysql> CREATE TABLE book <
-> id INT NOT NULL AUTO_INCREMENT,
-> bookname VARCHAR(50) NOT NULL DEFAULT ' ' ,
-> publisher VARCHAR(50) NOT NULL DEFAULT ' ' ,
-> author VARCHAR(30) NOT NULL DEFAULT ' ' ,
-> price DOUBLE NOT NULL DEFAULT 0.00 ,
-> detail TEXT ,
-> publishdate DATE ,
-> PRIMARY KEY(id),
-> INDEX book_bookname(bookname) ,
-> INDEX book_price(price)
-> > ;
上面创建了book表,可以使用SHOW TABLES命令查看当前数据库下共有多少张表,也可以通过DESC命令查看数据表的详细结构,如下所示:
mysql> SHOW TABLES;
mysqk> DESC book;
数据表内容的简单管理
MySQL数据表插入行记录(INSERT)
mysql> INSERT INTO BOOK VALUES(NULL , ‘C和指针’,‘人民邮电出版社’ ,‘Kenneth . Reek’ , ‘98.00’ , ‘c语言入门必备’,‘13552837281’);
mysql> INSERT INTO BOOK (bookname , publisher, author , price) VALUES (‘细说PHP’ , ‘电子工业出版社’ , ‘高洛峰’ , 97.00);
MySQL数据表查询数据记录(SELECT)
mysql> SELECT id, bookname, publisher, author,price FROM book;
更改MySQL数据表存在的记录(UPDATE)
mysql> UPDATE book SET price = 79 WHERE id = 2;
删除MySQL数据表存在的记录(DELETE)
mysql>DELETE FROM book WHERE id = ‘1’;