数据库基本知识和基础sql语句(18页).doc
《数据库基本知识和基础sql语句(18页).doc》由会员分享,可在线阅读,更多相关《数据库基本知识和基础sql语句(18页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-数据库的发展历程l 没有数据库,使用磁盘文件存储数据;l 层次结构模型数据库;l 网状结构模型数据库;l 关系结构模型数据库:使用二维表格来存储数据;l 关系-对象模型数据库;理解数据库l RDBMS = 管理员(manager)+仓库(database)l database = N个tablel table:l 表结构:定义表的列名和列类型!l 表记录:一行一行的记录!Mysql安装目录:l bin目录中都是可执行文件;l my.ini文件是MySQL的配置文件;相关命令:l 启动:net start mysql;l 关闭:net stop mysql;l mysql -u root -p
2、 123 -h localhost; -u:后面的root是用户名,这里使用的是超级管理员root; -p:后面的123是密码,这是在安装MySQL时就已经指定的密码;l 退出:quit或exit;sql语句语法要求l SQL语句可以单行或多行书写,以分号结尾;l 可以用空格和缩进来来增强语句的可读性;l 关键字不区别大小写,建议使用大写;分类l DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;l DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);基本操作l 查看所有数据库名称:
3、SHOW DATABASES;l 切换数据库:USE mydb1,切换到mydb1数据库;l 创建数据库:CREATE DATABASE IF NOT EXISTS mydb1;l 修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8l 创建表:CREATE TABLE 表名( 列名 列类型, 列名 列类型, .);l 查看当前数据库中所有表名称:SHOW TABLES;l 查看指定表的创建语句:SHOW CREATE TABLE emp,查看emp表的创建语句;l 查看表结构:DESC emp,查看emp表结构;l 删除表:DROP TABLE em
4、p,删除emp表;l 修改表:1. 修改之添加列:给stu表添加classname列:ALTER TABLE stu ADD (classname varchar(100);2. 修改之修改列类型:修改stu表的gender列类型为CHAR(2):ALTER TABLE stu MODIFY gender CHAR(2);3. 修改之修改列名:修改stu表的gender列名为sex:ALTER TABLE stu change gender sex CHAR(2);4. 修改之删除列:删除stu表的classname列:ALTER TABLE stu DROP classname;5. 修改之
5、修改表名称:修改stu表名称为student:ALTER TABLE stu RENAME TO student;其他常用命令:mysql基本操作命令一、数据库操作1.新增数据库create database 数据库名字 数据库选项;数据库选项:规定数据库内部该用什么进行规范 字符集:charset 具体字符集(utf8) 校对集:collate 具体校对集(依赖字符集) 2.查看数据库2.1查看所有的数据库show databases; 匹配查询:show databases like pattern; #pattern可以使用通配符 _:下划线匹配,表示匹配单个任意字符,如:_s,表示任意
6、字符开始,但是以s结尾的数据库%:百分号匹配,表示匹配任意个数的任意字符,如:student%,表示以student开始的所有数据库2.2查看数据库的创建语句show create database 数据库名字; 3.修改数据库数据库名字在mysql高版本中不允许修改,所以只能修改数据库的库选项(字符集和校对集) alter database 数据库名字 数据库选项;eg:alter database stu charset utf8; 4.删除数据库对于数据库的删除要谨慎考虑,是不可逆的。 drop database 数据库名字; 4.选择数据库use 数据库名字;二、数据表操作(字段) 1
7、.新增数据表create table 表名(字段名1 数据类型 comment 备注.,字段名2 数据类型 comment 备注., . #最后一行不需要逗号)表选项;表选项:1)字符集:charset/character set(可以不写,默认采用数据库的) 2)校对集:collate3)存储引擎:engine = innodb(默认的):存储文件的格式(数据如何存储) 注意:创建数据表的时候,需要指定要在哪个数据库下创建。创建方式有隐式创建和显式创建 1)显式创建:create table 数据库名字.数据表名字 2)隐式创建:use 数据库名字; 2.查看数据表 2.1查看所有的数据表s
8、how tables; 2.2查看表使用匹配查询 Show tables like pattern;#与数据库的pattern一样:_和%两个通配符 2.3查看数据表的创建语句 show create table 数据表名字; 2.4查看数据表的结构 desc 数据表名字; 3.修改数据表 3.1修改表名字 rename table 旧表名 to 新表名; 3.2修改表选项(存储引擎,字符集和校对集)alter table 表名 表选项; 3.3修改字段(新增字段,修改字段名字,修改西段类型,删除字段)新增字段:alter table 表名 add column 字段名字 数据库类型 位置fi
9、rst/after; 位置选项:first 在第一个字段 after 在某个字段之后,默认就是在最后一个字段后面 修改字段名称:alter table 表名 change 旧字段名字 新字段名字 字段数据类型 位置; eg:alter table student name fullname varchar(30) after id; 修改字段的数据类型:alter table 表名 modify 字段名字 数据类型 位置;删除字段:alter table 表名 drop 字段名字;4.删除数据表drop table 表名;三、数据操作1. 新增数据inser into table 表名 (字段
10、列表) values (值列表);2.查看数据select */字段列表 from 表名 where条件;3.修改数据update 表名 set 字段名 = 值 where 条件;注意:使用update操作最好配合limit 1使用,避免操作大批量数据更新错误.4.删除数据delete from 表名 where 条件;注意:没有where 条件 就是默认删除全部数据.四、列属性(字段)1.删除主键:alter table 表名 drop primary key;2.增加主键:alter table 表名 add primary key(字段列表);#可以是复合主键3.删除自增长:只能通过修改
11、字段属性的方法操作.4.删除唯一键:alter table 表名 drop index 索引名字;#默认的唯一键名字就是字段的本身5.增加唯一键:alter table 表名 add unique key (字段列表);#可以是复合唯一索引五、外键约束1.创建表的时候增加外键constraint 外键名字 foreign key(外键字段) references 父表(主键字段);eg:- 创建父表(班级表)create table class(id int primary key auto_increment,name varchar(10) not null comment 班级名字,ro
12、om varchar(10) not null comment 教室号)charset utf8;- 创建子表(外键表)create table student(id int primary key auto_increment,number char(10) not null unique comment 学号:itcast + 四位数,name varchar(10) not null comment 姓名,c_id int comment 班级ID,- 增加外键foreign key(c_id) references class(id)charset utf8;2.创建表之后增加外键al
13、ter table 表名 add constraint 外键名字 foreign key(外键字段) references 父表(主键字段);eg:- 增加外键alter table student add constraint student_class_fkforeign key(c_id) references class(id);3.删除外键alter table 表名 drop foreign key 外键名字; #查看外键名字需要通过表创建语句来查询.eg:- 删除外键alter table student drop foreign key student_ibfk_1;数据查询语
14、法(DQL)DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。SELECT selection_list /*要查询的列名称*/ FROM table_list /*要查询的表名称*/ WHERE condition /*行条件*/ GROUP BY grouping_columns /*对结果分组*/ HAVING condition /*分组后的行条件*/ ORDER BY sorting_columns /*对结果分组*/ LIMIT offset_start, row_count /*结果限定*/基础查询1.1查询所有列SELECT * F
15、ROM stu;1.2查询指定列SELECT sid, sname, age FROM stu;2条件查询2.1条件查询介绍条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用如下运算符及关键字:l =、!=、=;l BETWEENAND;l IN(set);l IS NULL;l AND;l OR;l NOT;2.2查询性别为女,并且年龄50的记录SELECT * FROM stu WHERE gender=female AND ge=20 AND age=40;或者SELECT * FROM stu WHERE age BETWEEN 20 AND 40;2.8查询性别非男的
16、学生记录SELECT * FROM stuWHERE gender!=male;或者SELECT * FROM stuWHERE gendermale;或者SELECT * FROM stuWHERE NOT gender=male;2.9查询姓名不为null的学生记录SELECT * FROM stuWHERE NOT sname IS NULL;或者SELECT * FROM stuWHERE sname IS NOT NULL;3模糊查询当想查询姓名中包含a字母的学生时就需要使用模糊查询了。模糊查询需要使用关键字LIKE。3.1查询姓名由5个字母构成的学生记录SELECT * FROM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 基本知识 基础 sql 语句 18
限制150内