简介:个人学习分享,如有错误,欢迎批评指正。
一、前言
1.SQL语法特点:
SQL 对关键字的大小写不敏感 ([select SELECT Select]是一样的)
SQL语句可以以单行或者多行书写,以分号结束 (select * from emp;)
2.SQL的注释:
3.数据库管理系统(数据库软件):
数据库管理系统(DBMS)用来创建和维护数据库。例如,SQL Server、Oracle、MySQL等等都是数据库管理系统。DBMS主要由数据库和表组成,一个系统可以有很多数据库,每个数据可以有很多表。 图1.1描述了数据库、数据库应用系统和数据库管理系统之间的联系。
二、常用数据类型
数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求才能存储起来,使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。此处只例举常用的
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 | |
数值类型 | tinyint | 1 byte | (-128,127) | (0,255) | 小整数值 |
int或integer | 4 bytes | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 | |
double | 8 bytes | (-1.797 693 134 862 315 7 E+308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 双精度 浮点数值 | |
字符串类型 | varchar | 0-65535 bytes | 随着存储数据的多少变化,例如:varchar(20)表示最多存20个字符 | 变长字符串 | |
日期类型 | date | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
datetime | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 | |
timestamp | 4 | 1970-01-01 00:00:00/2038 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳,获取当前时区的时间。 |
三、对数据库的常用操作
功能 | SQL |
查看所有的数据库 | show databases; |
创建数据库 | create database [if not exists] mydb1 [charset=utf8] |
切换 (选择要操作的) 数据库 | use mydb1; |
删除数据库 | drop database [if exists] mydb1; |
修改数据库编码 | alter database mydb1 character set utf8; |
四、对表结构的常用操作
1.创建表格式
create table [if not exists]表名(
字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],
字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],
字段名3 类型[(宽度)] [约束条件] [comment '字段说明']
)[表的一些设置];
创建表是构建一张空表,指定这个表的名字,这个表有几列,每一列叫什么名字,以及每一列存储的数据类型。
use mydb1;
create table if not exists student(
sid int,
name varchar(20),
gender varchar(20),
age int,
birth date,
address varchar(20),
score double
);
2.查,删表
功能 | SQL |
查看当前数据库的所有表名称 | show tables; |
查看指定某个表的创建语句 | cshow create table 表名; |
查看表结构 | desc 表名 |
删除表 | drop table 表名 |
3.修改表
3.1.添加列
语法格式
alter table 表名 add 列名 类型(长度) [约束];
例子:
#为student表添加一个新的字段为:系别 dept 类型为 varchar(20)
alble table student add `dept` varchar(20);
3.2.修改列名和类型
语法格式
alter table 表名 change 旧列名 新列名 类型(长度) 约束;
例子:
#为student表的dept字段更换为department varchar(30)
alter table student change dept department varchar(30);
3.3.删除列
语法格式:
alter table 表名 drop 列名;
例子:
#删除student表中department这列
alter table student drop department;
3.4.修改表名
语法格式:
rename table 表名 to 新表名;
例子:
#将表student改名成 stu
rename table student to stu;
该内容主要源于哔站up黑马程序员的mysql课程
结~~~