createtable student(
id int,
name varchar(10),
gender char(1),
birthday date,
score double(5,2),
email varchar(64),
tel varchar(15),statustinyint);
③.修改表(Update)
修改表的命令一般以ALTER TABLE开头具体可以分为
操作
语法
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
添加一列
ALTER TABLE 表名 ADD 列名 数据类型;
修改数据类型
ALTER TABLE 表名 MODIFY 列名 新数据类型;
修改列名和数据类型
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
删除列
ALTER TABLE 表名 DROP 列名;
④.删除表(Delete)
删除表DROP TABLE 表名;
删除时判断是否存在DROP TABLE IF EXISTS 表名;
三.Navicat的安装与使用
Navicat for MySQL是管理和开发MySQL或MariaDB的理想解决方案.
它为开发者提供了一款直观而强大的图形界面.
官网链接: http://www.navicat.com.cn
安装完成后直接打开,填写需要连接的ip与主机的地址 如果连接过程提示报错,可以参看这个博主的文章
登录成功后可以通过Navicat来查看MySQL的数据库了
四.DML-操作表数据
1.添加(Insert)
说明
语法
给指定的列添加数据
INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...);
给全部列添加数据
INSERT INTO 表名 VALUES(值1,值2,...);
批量添加数据
INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...),... INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
-- 查询所有数据SELECT*FROM
stu;-- 给指定列添加数据 INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...);INSERTINTO stu (id, NAME)VALUES(1,'叶子');-- 给所有列添加数据(可以省略列名的列表)INSERT INTO 表名 VALUES(值1,值2,...);INSERTINTO stu
VALUES(2,'老黄','男','1997-07-24',99.1,'14587138@qq.com','11929305651',1);-- 批量添加,其实就是把之前的括号中的内容多次执行INSERTINTO stu
VALUES(3,'罗磊','男','1997-05-24',110.1,'14333138@qq.com','11929467551',1),(4,'娟老师','女','1999-04-14',120.1,'556587138@qq.com','1349305651',1),(5,'雷der','男','1993-04-24',130.1,'16487138@qq.com','17629305651',1);SELECT*FROM stu;
2.修改(Update)
语法UPDATE 表名 SET 列名1=值1,列名2=值2,... [WHERE 条件];
-- 将表中 老黄的邮箱改为163邮箱UPDATE stu SET email ='finsq@163.com'WHERE id=2;-- 将表中老黄的分数改为100,电话改为110,状态改为3UPDATE stu SET score=100,tel=110,`status`=3WHERE name='老黄';-- 注意:如果update语句中不添加where条件,则会修改表中的所有数据!!!!
3.删除(Delete)
与修改相似DELETE FROM 表名 [WHERE 条件];
-- 删除表中 '雷der'相关的数据DELETEFROM stu WHERE name='雷der';SELECT*FROM stu;-- 如果不加where限制会清除所有表数据
左值
对左值取别名 左值举例
int main()
{//左值:可以取地址int a 10;const int b 20;int* p &a; //a,b,p均是左值*p 100; //*p也是左值return 0;
}左值引用举例
int main()
{//以下 p、b、c、*p都是…