1、Ubuntu安装MySQL:
apt-get update
apt-get install mysql-server
apt install mysql-client
apt install libmysqlclient-dev
参考:在Ubuntu16.04下安装mysql - Alan_Xiang的博客 - CSDN博客blog.csdn.net
然后命令行进入:
mysql -uroot -p 密码
或者
mysql -u root -p
直接mysql是默认以操作系统当前用户身份登录(此处没配置,不被允许)
登录4要素:
服务器名字-h 端口-P
用户名-u 密码-p
2、装入现成数据,方便练习
从这里下载SQL脚本文件mysql_scripts.zipMySQL Crash Coursewww.forta.com
包括2个脚本:create.sql -> 创建6个表
populate.sql -> 一堆INSER语句填充这些表
先进入sql环境中,新建一个数据库然后切换到它,再source xx.sql:
create database test;
use test;
source create.sql;
source populate.sql;
ok!
3、一些概念
1)数据库和数据库软件:
数据库是以某种有组织的方式存储的数据集合;
你使用的其实是数据库软件DBMS,它替你访问数据库,所以数据库本身究竟是文件还是其他什么东西并不是特别重要。。
2)模式
描述数据库和表的布局和特性的信息。
3)为什么要关注列的数据类型?
限制数据种类,帮助排序,优化磁盘使用。
4)为什么必须有主键?
没有主键,更新和删除表中的特定行很困难,因为没有安全的方法保证只涉及唯一的行……
5)什么样的列可以作为主键?
两个必要条件:不会有重复,且不能为NULL
常见的附加要求:作为主键的列,不会被更新,不会被重用,值没有更改的可能(比如商品的名字可能会改,就不适合做主键)
4、整体了解数据库和表
SHOW DATABASES; # 查看都有哪些数据库
SHOW TABLES; # 切换到某个库,然后查看这个库有哪些表
SHOW COLUMNS FROM customers;等效于DESCRIBE customers; # 查看表里有哪些字段
如果需要进一步了解database和table的创建信息:
SHOW CREATE DATABASE XXX;
SHOW CREATE TABLE XXX;
SHOW DATABASES看到的不仅是自定义数据库,还有MYSQL字典数据库
然后选中某个数据库比如test,查看表信息:刚刚脚本创建的6张表供应商vendors
产品products
顾客 customers
订单 oders
订单详情 orderitems
产品详情 productsnotes
查看到customers表的列信息:有什么字段,每个字段有什么设置
DESCRIBE customers;等同于SHOW COLUMNS FROM customers; 都时查看列信息SHOW CREATE DATABASE
SHOW CREATE TABLE
5、其他SHOW语句:
SHOW STATUS # 显示服务器状态信息,特别长……
SHOW ERRORS和SHOW WARNINGS # 显示服务器的错误/警告
SHOW GRANTS # 显示用户的安全权限
不懂这是什么权限……