我的所有操作都是在命令提示符下进行的
目录
启动服务器
mysqld.exe -install
net start mysql
mysql -uroot -p
创建数据库
CREATE DATABASE 数据库名;
我的实例: 创建一个名为RUNOOB的数据库
create DATABASE RUNOOB;
我的实例:
CREATE DATABASE IF NOT EXISTS KU1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- 如果数据库不存在则创建,存在则不创建。
- 2. 创建ku1数据库,并设定编码集为utf8
我们可以查看以下现在有的数据库了,除了我们自己创建的ku1和runoob,剩下的四个是MySQL自带的
SHOW DATABASES;
我第一次没加分号,错了 ,别忘记!!!!
关于自带的数据库的介绍:
https://www.cnblogs.com/wang2dz/p/8674433.html
https://zhidao.baidu.com/question/456362512397236125.html
删除数据库
drop database <数据库名>;
我的实例:删除名为ku1的数据库,(先查看原有的数据库,删除 ku1后,查看删除后的数据库)
show databases;
drop database ku1;
show databases;
选择数据库
use [数据库名]
我的实例:选择 RUNOOB数据库
use RUNOOB;
创建数据表
必须先创建数据库在创建数据表,也就是说数据表必须在某一个数据库里,数据表的三要素:表名、表字段名、定义每个字段)
CREATE TABLE table_name (column_name column_type);
table_name就是数据库的名字,column代表其中的各个字段属性
我的实例:在RUNOOB 数据库中创建数据表runoob_tbl:
CREATE TABLE runoob_tbl(
-> runoob_id INT NOT NULL AUTO_INCREMENT,
-> runoob_title VARCHAR(100) NOT NULL,
-> runoob_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( runoob_id )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
创建完查看表结构:
desc runoob_tbl;
解析
- 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
- AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
- PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
- ENGINE 设置存储引擎,CHARSET 设置编码。
删除数据表
DROP TABLE table_name ;
我的实例: 删除了数据表runoob_tbl
drop table runnoob_tbl;
删除后查看数据表,系统提示该表已经不存在
desc runoob_tbl;
插入数据
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
我的实例:向 runoob_tbl 表插入三条数据
INSERT INTO runoob_tbl
-> (runoob_title, runoob_author, submission_date)
-> VALUES
-> ("学习 PHP", "菜鸟教程", NOW());
INSERT INTO runoob_tbl
-> (runoob_title, runoob_author, submission_date)
-> VALUES
-> ("学习 MySQL", "菜鸟教程", NOW());
INSERT INTO runoob_tbl
-> (runoob_title, runoob_author, submission_date)
-> VALUES
-> ("JAVA 教程", "RUNOOB.COM", '2016-05-06');
增添完数据后我们读取一下数据表,看看是否成功了
select * from runoob_tbl;
我们并没有提供 runoob_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。实例中 NOW() 是一个 MySQL 函数,该函数返回日期和时间
选择查询数据
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
我的实例:查询 数据表 runoob_tbl 中runoob_id字段值为3的内容;查询 runoob_tbl所有内容;查询 runoob_tbl 中的runoob_id字段
select runoob_id=3 from runoob_tbl;
select * from runoob_tbl;
select runoob_id from runoob_tbl;
- 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
- SELECT 命令可以读取一条或者多条记录。
- 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
- 你可以使用 WHERE 语句来包含任何条件。
- 你可以使用 LIMIT 属性来设定返回的记录数。
- 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0
SELECT 语句使用 WHERE
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
我的实例:读取 runoob_tbl 表中 runoob_author 字段值为菜鸟教程 的所有记录
SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';
WHERE 子句的字符串不区分大小写,使用 BINARY 关键字来设定 WHERE 子句的字符串区分大小写
SELECT * from runoob_tbl WHERE BINARY runoob_author='runoob.com';
SELECT * from runoob_tbl WHERE BINARY runoob_author='RUNOOB.COM';
更新数据
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
我的实例:更新数据表runoob_tbl中runoob_title为学习 PHP的runoob_author字段,更新为 RUNOOB.COM
SELECT * from runoob_tbl;
UPDATE runoob_tbl SET runoob_author='RUNOOB.COM' WHERE runoob_title='学习 PHP';
SELECT * from runoob_tbl;
!!!! 我错错在没有加反向单引号!!!!
DELETE 语句
DELETE FROM table_name [WHERE Clause]
我的实例:删除 runoob_tbl 表中 runoob_id 为3 的记录 ,并选择runoob_id字段查看
DELETE FROM runoob_tbl WHERE runoob_id=3;
SELECT runoob_id from runoob_tbl;
LIKE 子句
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
我的实例:在runoob_tbl 表中获取 runoob_author 字段中以 COM 为结尾的的所有记录
SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM';