SQL语言之数据库与表的操作

SQL语言

DDL语句01:数据库操作

-- SQL语言单行注释1
#SQL语言单行注释2
/*
SQL语言的多行注释
多行注释
*/
查询数据库
1,查询数据库
    查询所有数据库
    show DATABASES;
	
创建数据库
2,创建数据库
    create DATABASE 数据库名;
    创建数据库,不存在创建,存在不创建;
    CREATE DATABASE  IF NOT EXISTS 数据库名;
    创建数据库时指定编码格式
    CREATE DATABASE IF NOT EXISTS 数据库名  CHARACTER SET '编码格式'
 列如:
	创建数据库为mydatabase的数据库
    	create database mydatabase;
修改数据库编码格式
3,修改数据库编码格式
    ALTER DATABASE IF NOT EXISTS 数据库名 CHARACTER SET '修改编码格式'
删除数据库
4,删除数据库
    DROP DATABASE 数据库名;
    数据库存在就删除,不存在就不删除
    DROP DATABASE IF EXISTS 数据库名;

切换数据库

5,切库
    USE 数据库名称;

DDL语句02:表操作

查询表
-- 查询表
	SHOW TABLES;
-- 查询表结构
	DESC 表名;
列如:
	-- 查询student的表结构
	desc student;
创建表
创建表
    CREATE TABLE 表名(
    字段名1 数据类型 [约束1]...,
    字段名2 数据类型 [约束1]...,
    字段名3 数据类型 [约束1]...,
    ...
    字段名n 数据类型 [约束1]...	
    );
        注意:
            1,最后一个字段不用写,2,一个字段可以有多个约束,也可以没有约束
            3,表的编码格式,默认跟随所在数据库的编码格式
        
-- 案例 :创建学生表:姓名,性别,年龄,电话,QQ
CREATE TABLE stu(
	-- 设置主键,自增
	s_id int primary key auto_increment,
	-- 设置不为空
	s_name VARCHAR(50) not null,
	s_sex VARCHAR(10),
	s_age INT,
	s_tel VARCHAR(30),
	s_qq VARCHAR(20)
	...
);
修改表
-- 修改表名
ALTER TABLE 要修改的表名 RENAME TO 修改后的表名;
    例如:
        ALTER TABLE stu RENAME TO students;
-- 修改表,修改表编码格式
ALTER TABLE 表名 CHARACTER set '编码格式';
    例如:
        ALTER TABLE students CHARACTER set 'utf8';
-- 修改表,添加字段
ALTER TABLE 表名 ADD 要添加的字段名 数据类型;
    例如:
        ALTER TABLE students ADD s_num INT;
-- 修改表,修改字段名与数据类型
ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型;
    例如:
        ALTER TABLE students CHANGE s_num s_number INT;
-- 修改指定字段的数据类型
ALTER TABLE 表名 MODIFY 字段名 更改后的数据类型;
    例如:
        ALTER TABLE students MODIFY s_number INT;
-- 修改表,删除表中指定字段
ALTER TABLE 表名 DROP 要删除的字段名 
    例如:
        ALTER TABLE students DROP s_number;
删除表
-- 删除表 
DROP table students;

DML数据操作语言

增加数据
-- 给表中添加数据
insert into 表名(列名1,列名2...)values(1,2...)
	注意:
		# values中的值要与字段名一致;
列如:
	# 向数据表中指定的列添加数据(不允许为空的列必须提供数据),不然会报错.
insert into student(s_id,s_name,s_asex,s_age,s_tel)
values(19480111,'焦龙飞','男',21,'18209496554');	
修改数据
-- 更改表中的数据
update 表名 set 列名1 =1,列名2 =2 [where 条件];
	注意:
		不加where条件,将给该表中所有行
列如:
	# 将学号为19480111的年龄修改为22岁
	update student set s_age = 22 where s_id =19480111;
删除数据
-- 删除表中的数据
delete from 表名 [where 条件];
	注意
		不加条件,将删除表中所有的数据(敏感操作)
列如;
	# 删除年龄小于18岁的学生
	delete from student where s_sge<18;

约束键

常用的数据类型
键名含义
primary key主键约束 : 非空+唯一,能够唯一标识数据表中的一条数据
foreign key外键约束 : 建立不同表之间的关联关系
auto_increment自增长约束 : 每次+1,从1起
unique唯一约束 : 其值不可重复
not null非空约束 : 限制此列的值必须提供,不能为null
default默认约束 : 保存数据时,未指定值时,则采用默认值

常用的数据类型

时间类型
数据类型名格式含义
date1999-08-13日期, 只存储年月日
year2022年份
time11:12:13时间,存储时分秒
datetime1999-08-13 11:12:13日期+时间,存储年月日时分秒
timestamp19990813111213日期+时间 (时间戳)
数值型
数据类型名内存空间含义
int/integer4byte整数
double8byte双精度小数
字符串类型
数据类型名字符串长度含义及说明
char0-255字节定长字符串,最多可以存储255个字符 ;当我们指定数 据表字段为char(n) 此列中的数据最长为n个字符,如 果添加的数据少于n,则补’\u0000’至n长度
varchar0-65535字节可变长度字符串,此类型的类最大长度为65535;当我 们指定数据表字段为varchar(n) 此列中的数据最长为 n个字符,如果添加的数据少于n,不会补齐长度
longtext0-4294967295字节文本数据(字符串),大型文本记录,如小说书,笔记等
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值