-
SQL(Structure Query Language)语句
SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL语句有以下三种:
DDL(Data Definition Language)语句:
数据定义语句,定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的语句关键字有create、drop、alter...
DML(Data Manipulation Language)语句:
数据操纵语言,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字有insert、delete、update、select...
DCL(Data Control Language)语句:
数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。定义了数据库、表、字段、用户的访问权限和安全级别。常用的语句关键字有grant、revoke...
DDL语句
1.创建数据库:
语法:CREATE DATABASE dbname
实例:create database db_library;
2.查看数据库:
语法:SHOW DATABASES
实例:show databases;
3.选择数据库:
语法:USE dbname
实例:use db_library;
4.删除数据库:
语法:DROP DATABASE dbname
实例:drop databse db_library;
5.创建表:
语法:CREATE TABLE tablename (column_name_1 column_type_1 constraints,...)
实例:create table tb_bookinfo( id int(10) unsigned,
name varchar(70),
author varchar(30),
number int(10),
price float(8,2) );
Note: 在创建表之前,要先选择当前使用的数据库。
6.查看当前数据库中的所有表:
语法:SHOW TABLES
实例:show tables;
7.查看表:
语法:DESC tablename
实例:desc tb_bookinfo;
8.删除表:
语法:DROP TABLE tablename
实例:drop table tb_bookinfo;
9.修改表结构:
(1)修改表类型:
语法:ALTER TABLE tablename MODIFY [COLUMN] column_name [FRIST|AFTER col_name]
实例:alter table tb_bookinfo modify column number int(10) unsigned;
Note:[FRIST|AFTER col_name] 用于修改表字段的排列顺序,如不需要,可以省略中括号[ ... ]中的语句,下同。
(2)增加表字段:
语法:ALTER TABLE tablename ADD [COLUMN] column_name [FRIST| AFTER col_name]
实例:alter table tb_bookinfo add column style varchar(30) ;
(3)删除表字段:
语法:ALTER TABLE tablename DROP [COLUMN] column_name
实例:alter table tb_bookinfo drop column style;
(4)表字段更名:
语法:ALTER TABLE tablename CHANGE[COLUMN] old_col_name column_name [FRIST| AFTER col_name]
实例:alter table tb_bookinfo change name title varchar(40);
Note:change 与modify都可以修改表的定义,区别在于change后面要写两次列名,比较麻烦。但是change可以修改列的名称,modify则不可以。
(5)更改表名:
语法:ALTER TABLE tablename RENAME [TO] new_tablename
实例:alter table tb_bookinfo rename tb_books;
DML语句
1.插入表记录:
语法:INSERT INTO tablename (field1, field2, ..., fieldn) VALUES (value1, value2, ..., valuen)
实例:insert into tb_bookinfo(id, name, author, number, price) values (1, ‘msql’, ‘oracle’, 10, 69.9);
Note:
- 可以不用指定字段的名称,但是values后面的顺序应该和表字段的排列顺序一致。例如:insert into tb_bookinfo values (2, ’hahaha’, ‘ bobo’, 30,28.8 );
- 可以只插入数据记录的一部分,缩短了SQL语句的复杂性。例如:insert into tb_bookinfo (id, name, number) values (2,’Harry Potter’,5);
- 可以一次性插入多条记录,好处是节省了网络开销,可大大提高开发效率。例如:insert into tb_bookstatus values (1,’skill’), (2,’noval’), (3,’language’);
2.更新表记录:
语法:UPDATE tablename SET column_name_1 = new_value1, cloumn_name_2= new_value2,..., column_name_n = new_valuen WHERE condition
实例:update tb_bookinfo set price=30 where id=1;
3.删除表记录:
语法:DELETE FROM tablename WHERE condition
实例:delete from tb_bookinfo where id=4;
4.清空表记录:
语法:TRUNCATE TABLE tablename
实例:truncate table tb_bookinfo;
Note:次语句会删除数据表中的所有数据,并且无法恢复,使用时一定要小心。
5.查询表记录:
语法:SELECT * FROM tablename [WHERE condition]
实例:select * from tb_bookinfo;
Note:
-
查询不重复的记录:可使用distinct关键字实现,例如:select distinct author from tb_bookinfo;
-
条件查询:可以用where关键字实现,后面跟限定条件。结果排序:可以用关键字order by 实现,语法:SELECT * FROM tablename [WHERE condition] ORDER BY col_name_1 [DESC|ASC], col_name_2 [DESC|ASC],..
DCL语句
主要是DBA用来管理系统中对象的权限使用,一般的开发人员很少使用,所以这里不再介绍。