SQL语句汇总(上)

        好长时间没有看数据库的东西,啥都忘得一干二净,于是下决心抽点时间把常用的sql语句总结一下,方便以后自己使用的时候能够快速找到自己想要的。由于各种sql语句还是挺多的,我把它多分几篇,计划分成三篇。

  • 对数据库、表、列属性的操作,这里还没有涉及到对数据的操作
  • 对单个表中数据简单的增删改查,包括一些聚合函数的使用等
  • 多表操作

下面来了解一下,什么是SQL?

       SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。各数据库厂商都支持ISO的SQL标准(即普通话)。各数据库厂商在标准的基础上做了自己的扩展(方言)。

  • DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等; CREATE、 ALTER、DROP
  • DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据); INSERT、 UPDATE、 DELETE
  • DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
  • DQL(Data Query Language):数据查询语言,用来查询记录(数据)。

 

对数据库和表、列的操作

指令含义

create databse mydb;

创建数据库

create database mydb character set gbk;

创建数据库并设置编码格式为gbk。不指定的话默认为utf-8,这个在安装的时候设置了

show databases;

查看当前数据库服务器中的所有数据库

show create database mydb;

查看前面创建的mydb2数据库的定义信息

drop database mydb;

删除前面创建的mydb3数据库
 

alter database mydb set utf8;

把mydb2的字符集修改为utf8

select database();

查看当前使用的数据库
 
use mydb;切换数据库
 
-- 注释中间需要敲空格,再写注释
create table 表名(字段名 类型(长度) [约束],字段名 类型(长度) [约束]);

主键约束:primary key;要求被修饰的字段:唯一和非空

唯一约束:unique,要求被修饰的字段:唯一

非空约束:not null,要求被修饰的字段:非空

show tables;查看数据库中的所有表
desc 表名;查看表结构
show create table 表名;查看表的创建细节
drop table 表名;删除表
alter table 表名 character set 字符集;修改表的字符集
create table copy_1 select * from 表名; 复制表并命名为copy_1
create table copy_1 select * from 表名 where 1=0;只复制表结构不复制表内容(就是在where条件加入永不为真的值)
alter table 表名 add 列名 varchar(20);添加新列
alter table 表名 change 旧列名 新列名 int修改列名
alter 表名 drop column 列名删除列

数据库名命名规则:

  1. 第一个字符必须为下列之一:字母、下划线、#及@符号。
  2. 后续字符由字母、十进制数、下划线、#、$及@符号组成。
  3. 不能为RDBMS(数据库管理系统)的保留关键字。
  4. 不允许空格及其他字符。

数据库完整性:

  1. 实体完整性:保证一行数据是有效的

          主键约束:PRIMARY KEY

          唯一约束:UNIQUE

      2. 域完整性:保证一列数据是有效的、

          非空约束:NOT NULL

          默认约束:DEFAULT  (设定默认值后,可以在添加此列时不指定值,数据库会自动填充设定的默认值。)

        create t_student(stu_id int primary key,stu_name varchar(10) not null,stu_sex varchar(5) default 'male')

          如果没有填写具体的性别均会默认为男性

     3. 引用完整性:保证引用的编号是有效的

          外键:


create table t_class(
              class_id int primary key,
              class_name varchar(20) unique not null);

       


create table t_student(
            student_id int primary key,
            s_c_id int references t_class(class_id),
            student_name varchar(10) not null,
            student_sex varchar(5) default 'male',
            constraint foreign key(s_c_id) references t_class(class_id); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值