1.什么是SQL(了解):
- 结构化查询语言,是一种功能齐全的数据库语言。在使用它时,只须要发出“作什么”的命令,“怎么作”是不用使用者考虑的
- SQL被美国国家标准局(ANSI)肯定为关系型数据库语言的美国标准, 后来被国际化标准组织(ISO)采纳为关系型数据库语言的国际标准
2 SQL优势:
- 标准统一:
- 不是特定数据库供应商专有的语言, 几乎全部DBMS都支持SQL
- 简单易学:
- SQL语言由描述性很强的英语单词组成, 这些单词数量很少, 且都很经常使用
- 声明式:
- SQL是一种声明式的语言, 相对应的, Java是一种命令式的语言. 在SQL中, 你只须要指出 "想作什么", 而无需指明 "怎么作", 具体的操做过程由DBMS自动完成
1.DDL (Data Definition Language)数据库
- 数据定义语言, 用来定义数据库对象, 包括数据库, 表, 列, 索引, 视图等
2.DML (Data Manipulation Language)安全
- 数据操做语言, 用来操做数据库表中的记录
3.DQL (Data Query Language)编码
- 数据查询语言, 用来查询数据库表中的记录
4.DCL (Data Control Language)spa
- 数据控制语言, 用来定义访问权限和安全级别
1.数值类型3d
- int:整形
- double:浮点型, 例如double(5, 2)
2.文本和二进制类型对象
- char:固定长度字符串, char(10)
- varchar:可变长度字符串, varchar(255)
- text:字符串类型(非标准)
3.时间日期类型blog
- date:日期类型, 格式为 yyyy-MM-dd
- datetime:yyyy-MM-dd hh:mm:ss
1.关键字:
- create:用于建立操做
- alter: 用于修改操做
- drop: 用于删除操做
2.操做数据表:
2.1数据库的约束
1.空值和非空值索引
- NULL NOT NULL(列值不能够为空,必须传值)
2.自动增加 :自动增加,须要配合主键使用,默认起始值为1 增量为1,只针对整数类型ip
- AUTO_INCREMENT
3.主键约束:每张表只能存在一个主键,保证数据惟一性,自动位NOT NULL字符串
- 关键字PRIMARY KEY
4.惟一约束; 保证数据惟一性,能够为空值,一张表能够存在多个
- 关键字UNIQUE KEY
5.默认约束:若是没有输入明确的字段值,则会自动设置为默认值
- 关键字default
6.外键约束: 再多表中使用
- 关键字foreign key
2.2 例:建立一张student表
语法:( 列名 数据类型 , 列名 数据类型 , ......)
代码:CREATE TABLE students(id int , name varchar( 50 ) ,age int ) ;
2.3.验证:
2.3.1.查看数据库中数据表
- show columns from 数据表名 ;
2.3.2.查看数据表字段信息
- desc 数据表名;
2.3.3.查看数据表建立细节
- show create table 数据表名;
3.修改操做
一、修改数据表表名称
- 语法:RENAME TABLE oldname TO newname ;
- 代码:RENAME TABLE students TO stud;
二、修改数据表字符集-编码格式
- 语法:ALTER TABLE 表名称 CHARACTER SET 字符集名称;
- 代码:ALTER TABLE students CHARACTER SET gbk;
三、修改列的数据类型
- 语法:ALTER TABLE 表名称 MODIFY 列名称 数据类型 ;
- 代码:ALTER TABLE students MODIFY gender VARCHAR(10);
四、修改列名
- 语法:ALTER TABLE 代表称 CHANGE 列名称(old) 列名称(new) 数据类型;
- 代码:ALTER TABLE students CHANGE name sex VARCHAR(10);
4.删除操做
一、删除表中的列
- 语法:ALTER TABLE 表名称 DROP 列名称;
- 代码:ALTER TABLE students DROP sex;
二、删除数据表
- 语法:DROP TABLE 表名称 ;
- 代码:DROP TABLE students ;
三、删除表中全部的数据(后面演示)
- 语法:TRUNCATE TABLE 表名称;
- 代码:TRUNCATE TABLE students;
5.增长操做
一、在表中增长一列 列名称:age
- 语法:ALTER TABLE 表名称 ADD 列名 数据类型;