SQL 分类
SQL 语句主要可以划分为以下3 个类别。
DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、
数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括create、drop、alter
等。
DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查
询数据库记录,并检查数据完整性,常用的语句关键字主要包括insert、delete、udpate 和
select 等。
DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和
访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的
语句关键字包括grant、revoke 等。
创建数据库 create database test1;
如果需要知道系统中都存在哪些数据库,可以用以下命令来查看; show databases;;
在查看了系统中已有的数据库后,可以用如下命令选择要操作的数据库:use name;
然后再用以下命令来查看test1 数据库中创建的所有数据表:show tables;
要删除test1 数据库可以使用以下语句:drop database test1;
创建数据库create database `数据库名称` charset=utf8;
创建一个名为 school 的数据库 create database `school`;
删除数据库 drop database `数据库名称`;
创建数据表[最后一个字段的数据类型后面不要加上逗号!!!!!]
create table `表名` (
`字段名称1` 数据类型,
`字段名称2` 数据类型,
`字段名称...` 数据类型,
`字段名称n` 数据类型
) engine=InnoDB;
例如,我们要创建一个部门表: SQL语句:
create table `deparment` (
`id` int,
`name` varchar(200),
`lead` varchar(100),
`phone` varchar(30)
) engine=InnoDB;
查看建表语句 mysql>show create table `表名`;
删除表 mysql>drop table `表名`;
删除上面那个部门表: mysql> drop table `deparment`;
添加数据
INSERT INTO `表名` (`字段1`,`字段2`,...) VALUES ('字段1的值','字段2的值'... );
注意:
1. 添加数据时,into 可以省略不写。
2. 表名和字段名两边最好加上反引号,但是 VALUES后面的数据不要加上 反引号,
如果值是字符串加上 单引号或双引号,数字加不加引号都行
把刚才添加数据查询出来。 select 字段 from `表名`;
例如,把 deparment 部门表中的数据全部查出来[*号代表所有,开发时不能用,学习的时候可以试用]
select * from `deparment`;
我们也可以只查部分字段[可以降低成本],查多个字段使用 , 半角逗号隔开。
select `lead`,`name` from `deparment`
查看指定表的表结构 describe 和 desc 都可以。
describe `表名`; desc user;
虽然desc 命令可以查看表定义,但是其输出的信息还是不够全面,为了查看更全面的表定
义信息,有时就需要通过查看创建表的SQL 语句来得到,可以使用如下命令实现:
show create table emp G;
增加表字段,语法如下:ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name] //alter table emp add column age int(3);
删除表字段,语法如下: ALTER TABLE tablename DROP [COLUMN] col_name
//alter table emp drop column age;
字段改名,语法如下:
ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition
[FIRST|AFTER col_name] //alter table emp change age age1 int(4) ;
注意:change 和modify 都可以修改表的定义,不同的是change 后面需要写两次列名,不方便。
但是change 的优点是可以修改列名称,modify 则不能。
修改字段排列顺序。
前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项first|after
column_name,这个选项可以用来修改字段在表中的位置,默认ADD 增加的新字段是加在
表的最后位置,而CHANGE/MODIFY 默认都不会改变字段的位置。
例如,将新增的字段birth date 加在ename 之后:
mysql> alter table emp add birth date after ename;
修改字段age,将它放在最前面:alter table emp modify age int(3) first;
表改名,语法如下:ALTER TABLE tablename RENAME [TO] new_tablename
例如,将表emp 改名为emp1,命令如下:mysql> alter table emp rename emp1;