查询语句的SQL查询部分
关于概念性的东西,就不多做介绍了,直接百度定义最明确。下面介绍一些常用的SQL语句。
关于使用数据库(这里介绍MySQL数据库)一般有两种方式:
- 在笔记本的DOS窗口使用:
那么先介绍在DOS窗口的登录MySQL数据库(前提是你的数据库程序要运行)
mysql -u用户名 -p密码//比如:mysql -uroot -p1234 //注意 -u 和 -p之后不要有空格
- 使用数据库的图形化管理工具:对于工具网上有很多,都可以使用。不同的工具使用上都有一些不一样。
这里介绍对数据库的操作(增 删 改 查):
- 创建数据库:
create database 数据库名 //比如创建学生表 : create database student
- 使用数据库:
use 数据库名 // 切换到某数据库 use student //表示目前在student库中了。
- 查看所有数据库:
show databases //显示所有的数据库
- 查看创建某数据库的语句:
show create database 某库名 // 比如:查看student表的创建语句 show create database student
- 删除数据库:
drop database 数据库名 // 比如:删除student数据库 drop database student
这里先介绍一下关于数据表中的常见数据类型和约束(才看的明白创建数据表的语法):
数据类型 | 举例 |
---|---|
INT | 整型 ,eg : 5,10,100… 。 |
double(m,n) | 浮点型,m表示数据最多的位数,n表示小数点后的位数. eg : double(5,2)。也可不写 m n |
varchar(n) | 可变字符串类型 ,n表示字符的最多个数。 |
date | 日期类型,格式为yyyy-MM-dd,只有年月日,没有时分秒。 |
datetime | 日期类型,格式为 yyyy-MM-dd HH:MM:SS,年月日时分秒都有。 |
约束类型 | 解释 |
---|---|
primary key | 主键,用来唯一的标识一条记录。 |
unique | 唯一,用来使数据保持唯一。 |
not null | 非空,使得数据不能为空。 |
default | 默认,只有在不指定这个字段的数据时(那怕你指定为null,也不会使用默认值),才会使用默认值 |
foreign key | 外键,用来使得多表之间产生关系,用来引用其他表的主键。 |
那么接下来介绍对于数据表的操作(增 删 改 查)
- 创建数据表: 最后一个字段不加,
CREATE TABLE 表名(
字段名1 数据类型 约束,
字段名2 数据类型 约束,...)
//比如创建student表:create table student (
//sid int primary key auto_increment,
//sname varchar(20) not null,
math double(5,2) not null)
- 查看所有数据表:
show tables
- 查看创建表的SQL语句:
show create table 表名 // 比如 show create table student 查看创建studnet的SQL语句
- 查看表的结构:
desc 表名 //desc student
- 删除表:
drop table 表名 //比如:删除表 drop table student
接下来接着介绍对于数据表的结构的一些修改:
- 给表增加一个字段:
alter table 表名 add 字段名 数据类型 //比如:给student表增加英语成绩字段
// alter table student add english double(5,2)
- 修改表的数据类型:
alter table 表名 modify 某字段名 新数据类型 // 比如:将student表中的english类型修改为int
// alter table student modify english int
- 修改表的列名:
alter table 表名 change 旧字段名 新字段名 数据类型 //比如:将english改为chinese
// alter table student change english chinese int //(上一句之前已经改为int了)
- 删除表的某列:
alter table 表名 drop 字段名 // 删除 chinese列: alter table student drop chinese
- 修改表的名字:
alter table 表名 to 新表名
给数据表插入数据:
- 插入全部字段的数据:
insert into 表名 (字段名1,字段名2,...) values (值1,值2,...)
//比如: insert into student (sid,sname,math) values (null,‘小明’,98) //(null值会自动为自动增加主键赋对应的值)
也可以省略所有字段部分,但是值部分就必须要写完。(才能对应上,但是不太推荐,不好维护)
insert into student values(null,‘小王’,89) // 如果字段过多,就不好区分对应的字段的值了。
- 插入部分字段的数据:
insert into 表名 (字段1,字段2,...)values (值1,值2,...)
//比如:只给 sid,sname字段插入数据 insert into student (sid,sname) values (null,'小李')
关于数据库的查询语句比较复杂,分为两篇,本篇暂不叙述。