??大綱
????1须蜗、什么是數(shù)據(jù)庫
????2硅确、SQL概述
????3、mysql的概述
????4明肮、mysql的安裝
????5菱农、什么是表
????6、了解MySQL命令行客戶端柿估、GUI客戶端
????7循未、本節(jié)代碼
????8、練習(xí)
一秫舌、什么是數(shù)據(jù)庫
數(shù)據(jù)庫通常是一個或一組文件的妖,保存了一些特定規(guī)格數(shù)據(jù),數(shù)據(jù)庫對應(yīng)的英語單詞是DataBase,簡稱DB足陨,數(shù)據(jù)庫軟件稱為數(shù)據(jù)庫管理系統(tǒng)(DBMS)嫂粟,全稱為DataBase Management System
現(xiàn)如今有許許多多的數(shù)據(jù)庫管理系統(tǒng),如: Oracle钠右、SqlServer赋元、Mysql、DB2飒房、informix......等搁凸,這其中最常用的就是Mysql
二、SQL概述
SQL:一般發(fā)音為sequel狠毯,SQL用來和數(shù)據(jù)庫打交道的一種數(shù)據(jù)庫語言护糖,完成和數(shù)據(jù)庫的通信,SQL是一套標(biāo)準(zhǔn)嚼松,SQL屬于高級語言
三嫡良、mysql的概述
1.MySQL是目前比較的一款開源的關(guān)系型數(shù)據(jù)庫锰扶,最早之前是瑞典的AB公司研發(fā)的,后來被SUN公司初收購了(08年)寝受,但是現(xiàn)目前SUN公司又被Oracle收購(09年)
2.為什么要使用MySQL坷牛?
性能優(yōu)越(速度快)、簡單(容易理解和學(xué)習(xí))很澄、開源(免費)京闰、輕量級的
3.sql(數(shù)據(jù)庫語言)、DB(數(shù)據(jù)庫)甩苛、DBMS(數(shù)據(jù)庫管理系統(tǒng)) 他們之間的關(guān)系是什么? ?
DBMS -(執(zhí)行)->sql語句 -(操作)->DB
四蹂楣、Mysql的安裝
官網(wǎng):http://www.mysql.com
簡易安裝教程
https://note.youdao.com/s/AVOFvtEo
五、什么是表讯蒲?
表:table 痊土,是數(shù)據(jù)庫的基本組成單元,所有的數(shù)據(jù)都以表格的形式組織墨林,目的是可讀性強赁酝。
????一個表包括行和列:
????行:被稱為數(shù)據(jù)、記錄(data)
????列:被稱為字段(column)
學(xué)號 姓名 年齡
——————————————————————
001 張三 20
002 李四 18
每個字段有哪些屬性萌丈?
????????字段名赞哗、數(shù)據(jù)類型、相關(guān)約束辆雾。
六肪笋、了解MySQL命令行客戶端、GUI客戶端
注意:使用MySQL數(shù)據(jù)庫之前要先開啟Mysql服務(wù)度迂,然后再登陸Mysql管理系統(tǒng)
1.命令行客戶端(dos命令窗口)
????????登陸Mysql管理系統(tǒng):
????????????dos命令窗口:mysql -uroot -p123456
????????登陸之后則可以進行數(shù)據(jù)庫操作藤乙,以下是常用操作命令:
????????注意:每條命令以分號結(jié)尾
????????show databases; 查看MySQL中的所有數(shù)據(jù)庫
????????use mysql; 切換到mysql數(shù)據(jù)庫
????????show tables; 查看mysql數(shù)據(jù)庫中的所有表
????????create database 數(shù)據(jù)庫名;
????????create table 表名;
????2.GUI客戶端
????????navicat、sqlyong
代碼部分總結(jié)
????????查詢當(dāng)前連接中的所有數(shù)據(jù)庫
????????????SHOW DATABASES;
????????切換到指定的數(shù)據(jù)庫
????????????USE mysql;
????????查看當(dāng)前數(shù)據(jù)庫中所有的表
????????????SHOW TABLES;
????????創(chuàng)建數(shù)據(jù)庫
????????????CREATE DATABASE 數(shù)據(jù)庫名;
????????再創(chuàng)建表或者創(chuàng)建數(shù)據(jù)庫的時候惭墓,可加上指定字符集以支持中文:
????????????CHARACTER SET 字符集名坛梁;
????????????CREATE DATABASE 數(shù)據(jù)庫名 character set utf8;
? ? ? ? ?創(chuàng)建表
????????????CREATE TABLE studentInfo
????????????(
????????????id? INT? PRIMARY KEY? auto_increment,
????????????name VARCHAR(20),
????????????sex VARCHAR(2),
????????????age INT
????????????);
????????創(chuàng)建表中的數(shù)據(jù)列于列之間以“,”(逗號)間隔腊凶,最后一個列不需要加逗號划咐。
? ? ? ? ? ?插入數(shù)據(jù):
????????????????insert into studentInfo values(1,'張三','男',20);
????????????????insert into stuInfo(name,sex,age) values('zhangsan1','男',19);
????????????????insert into stuInfo(name,sex,age) values('lisi','男',19);
????????????????insert into stuInfo(name,sex,age) values('WANGWU','男',19);
練習(xí):
一.填空題
1.?創(chuàng)建數(shù)據(jù)庫的sql語法為:(create database 數(shù)據(jù)庫名;)。
2.?刪除數(shù)據(jù)庫的sql語法為:(drop database 數(shù)據(jù)庫名;)钧萍。
3.?切換|使用數(shù)據(jù)庫的sql語法為(use 數(shù)據(jù)庫名;)褐缠。
4.?創(chuàng)建表的sql語法為(create table 表名;)。
5.?刪除表的sql語法為(drop table 表名;)风瘦。
6.?查看當(dāng)前連接所有數(shù)據(jù)庫(show databases;)队魏。
7.?查看當(dāng)前數(shù)據(jù)庫中所有的表(show tables;)。
8.?主鍵約束語法為(primary key)万搔。
9.?唯一約束語法為(unique)胡桨。
10.?不能為空語法為(not null)官帘。
11.?自動增長的語法為:(auto_increment)。
12.?默認值的語法為: (default)昧谊。
13.?針對列添加備注(comment)刽虹。
二.操作題
1、創(chuàng)建一個數(shù)據(jù)庫揽浙,名為stdb 状婶,并支持中文編碼意敛。再在此數(shù)據(jù)庫中創(chuàng)建一張表馅巷,名為mySelf,表的要求如下:
請仔細閱讀說明2菀觥5鲡!撩独!
參考代碼:
????????CREATE DATABASE stdb CHARACTER SET utf8敞曹;
????????USE stdb;
????????CREATE TABLE mySelf(
????????id INT PRIMARY KEY AUTO_INCREMENT COMWMENT'編號',
????????name VARCHAR(20) NOT NULL UNIQUE COMWMENT'姓名',
????????sex CHAR(2) DEFAULT'男'comment '性別',
????????age INT NOT NULL comment '年齡',
????????hobby VARCHAR(100)NOT NULL COMMENT'愛好',
????????address VARCHAR(100)comment '地址');
2综膀、創(chuàng)建一張表澳迫,名為classInfo
????????create database stdb CHARACTER SET utf8;
????????USE stdb;
????????create table classInfo
????????(
????????id? int? PRIMARY KEY? auto_increment COMMENT '編號',
????????className varchar(20) not null UNIQUE COMMENT '班級名稱',
????????peopleNum? int? not null COMMENT '班級人數(shù)'
????????);