1 创建一个数据库
语法:create database 库名;
A.g: create database book;
2 创建一个表:
create table 表名(
字段名1 数据类型(宽度/大小) 约束 ,
字段名2 数据类型(宽度/大小) 约束 ,
…
字段名n 数据类型(宽度/大小) 约束
);
A.g:创建一个名为student的表的同时添加表的4个字段(name, sex, age, score)
create table student(name char, sex char, age int, score int);
3 增加表的一个字段:注意表名与字段名都需要用;
ALTER TABLE 表名
ADD 新增字段名
数据类型(宽度/大小) 约束;
A.g: 给表student添加一个名为phone number的字段,并明确字段数据类型为INT类型.
ALTER TABLE student
ADD phone number
INT;
4 增加一条记录到表里面:注意字段要用, 值用’ ’;
INSERT INTO表名(字段1
, 字段2
, 字段3
, 字段4
, 字段5
) values (‘值1’, ‘值2’, ‘值3’, ‘值4’, ‘值5’);
A.g: 增加一条记录:T同学的信息
INSERT INTO student (name
, sex
, age
, score
, phone number
) values (‘T’, ‘m’, ‘15’, ‘98’, ‘123456789’);
增加两条记录:
INSERT INTO student (name
, sex
, age
, score
, phone number
) values
(‘A’, ‘m’, ‘16’, ‘89’, ‘987654321’),
(‘B’, ‘w’, ‘14’, ‘90’, ‘159753248’);
5 修改表中记录
语法: update 表名 set 修改条件 where 依据条件;
A.g: 将B同学的分数改为59;
UPDATE student
SET score
=‘59’ WHERE name
=‘B’;
6 修改表中字段类型
语法:alter table 表名modify column 字段名
数据类型;
A.g: 修改字段name的字段类型char改为VARCHAR(10);(注意char与VARCHAR的确区别)
alter table student modify column name
VARCHAR(10);
再将B同学的名字修改为Lida;
UPDATE student
SET name
=‘Lida’ WHERE score
=‘59’;
7、设置表中某个字段为主键
语法:ALTER TABLE 表名
ADD PRIMARY KEY (字段
);
A.g: 将表student的name字段设为主键;
ALTER TABLE student
ADD PRIMARY KEY (name
);
8、查看表的字段数据类型和主键字段
语法:show columns from 表名;
或者:show create table 库名.表名;
A.g: 查看表student的字段数据类型和主键字段
show columns from student;
show create table book.student;
9 修改字段名称
语法:ALTER TABLE 表名 CHANGE 字段名
新字段名
字段类型;
A.g:将student里面的name改为NAME
ALTER TABLE student CHANGE name
NAME
VARCHAR(10);
10删除某一行:
语法:DELETE FROM 数据库名.表名 WHERE 字段名 = ‘值’;
A.g:将student里面Lida行删除。
DELETE FROM book.student WHERE NAME = ‘Lida’;
11. 删除表中某个字段
语法:ALTER TABLE 表名
DROP 字段
;
A.g:删除student表的phoneNumber字段。
ALTER TABLE student
DROP phoneNumber
;
12. 从数据库查找数据
SELECT + 表字段名 + FROM +数据表名+ WHERE + 筛选条件
表字段全部就是*,分别就是字段名逗号隔开;筛选条件就是类似于 id=2,name=“小明” 之类
需要从数据库读取数据就需要先创建数据库链接,定义查询语句,进行查询,解析返回数据,每个阶段都是有固定的SQL语言格式,要是正常使用这样没问题,详细了解的话需要好好找点资料看下SQL常用格式语句。
SELECT + 表字段名 + FROM +数据表名
表字段名那个,如果想要获得所有的字段或者不知道有哪些字段的情况下用*代表所有字段。
比如
SELECT * FROM 获取每条信息全部字段的值
SELECT id , name FROM 只能获取每条信息的id字段和name字段的值
A.g:
SELECT * FROM student where age=‘15’;
SELECT * FROM student where age=‘15’ and NAME=‘D’;
13 表名修改
RENAME TABLE test TO TEST21;
遇到的问题:更新不了数据
Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect.
这是因为MySql运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令。
1、show variables like ‘SQL_SAFE_UPDATES’;查看开关状态。
2、执行命令SET SQL_SAFE_UPDATES = 0;修改下数据库模式