SQL
一、数据库中表和数据的增删改查操作
-
SQL 简介
关系型语言,此处不在多说
-
SQL通用语法
-
SQL语句可以单行或多行书写,以分号结尾
-
MYSQL数据库的SQL语句不区分大小写,关键字建议使用大写
-
注释
-
单行注释:
-- 注释内容 或 #注释内容(MYSQL特有)
注意上面的--后面有空格
-
多行注释:
/注释/
-
-
-
SQL分类
-
DDL()数据定义语言,用来定义数据库对象:数据库,表,列等
-
DML()数据操作语言,有来对数据库中表的数据进行增删改
-
DQL()数据查询语言,用来查询数据库中表的记录
-
DCL()数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户
-
下面截图介绍具体的操作命令或图示
1、DDL
show databases;
create database db1;
create database if not exists db1;
drop database db2;
drop database if exists db2;
use db1; // select database() 命令查询当前使用的数据库
2、DDL
-
2.1、创建(Create)
-
#CREATE TABLE 表名 (字段名1 数据类型1,字段名2 数据类型2,...) use db1; create table mychat(username varchar(10), id int, password varchar(32)); show tables; desc mychat;
此处理就要再详细说一下数据类型
-
-
注意,这个时间类型中 TIMESTAMP 最大到2038年,不建议使用
示例:
1、double可以确定精度 => score double(总长度,小数点后保留的位数) 0~100 2 => score double(5,2)
2、存储名字 “张三”
name char(10) # 定长,超过10个字符报错且占用10个字符;存储性能高;但浪费空间。
name varchar(10) # 变长, 存储两个字符,超过10个字符报错;存储性能低;节约空间。
还比如性别直接可以用char(1)就可以了
3、来一套实例吧:创建一个学生表,包含编号、姓名、性别、生日、入学成绩、邮件地址、家庭联系电话、学生状态。
create table student( id int, name varchar(10), gender char(1), birthday date, score double(5,2), email varchar(64), tel varchar(15), status tinyint )
-
-
2.2、查询(Retrieve)
use mysql; #进入数据库 show tables;#查看所有表 desc func;#查看func表的结构
-
2.3、修改(Update)
-
改这个表student为例
mysql> desc student; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(10) | YES | | NULL | | | gender | char(1) | YES | | NULL | | | birthday | date | YES | | NULL | | | score | double(5,2) | YES | | NULL | | | email | varchar(64) | YES | | NULL | | | tel | varchar(15) | YES | | NULL | | | status | tinyint(4) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 8 rows in set (0.00 sec)
-
1、修改表名 => alter table 表名 rename to 新的表名;
alter table student rename to stu;
-
2、添加一列 => alter table 表名 add 列名 数据类型;
alter table stu add address varchar(15);
-
3、修改数据类型 => alter table 表名 modify 列名 新数据类型;
alter table stu modify address varchar(50);
-
4、修改列名和数据类型 => alter table 表名 change 列名 新数据类型;
alter table stu change address addr varchar(30);
-
5、删除列 => alter table 表名 drop 列名;
alter table stu drop addr;
-
-
2.4、删除(Delete)
drop table